Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 864 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Ola, estou tentando transmitir uma NFSe para a prefeitura de Castro-PR e não estou conseguindo, estou utilizando o componente ACBrNFSeX.

Notei que a prefeitura passou por uma atualização no provedor e acredito que pode ter trocado a URL de envio deles no dia 09/08/2022.

Quando tento transmitir uma NFSe recebo o seguinte retorno:

image.thumb.png.f0c141bd4b5699ab11478d8b4422292e.png

Conversei com o pessoal do suporte da IPM (Provedor de Castro-PR) me passaram que devo encaminhar para a URL: https://ws-castro.atende.net:7443/?pg=rest&service=WNERestServiceNFSe/

Porem ao tentar enviar para esta URL recebo o seguinte retorno: 

image.png.2e8cb1bcc6d0e2fa7128375c3ea01c6b.png

Alguém consegue me ajudar?

Postado (editado)

italo, o pessoal da prefeitura me retornou isto:

image.png.deeccd7e16be191f903863452def8b8e.png

Caso isso te ajude.

Foi me passado tambem as seguintes alterações feitas: 

 
2. Forma de funcionamento
 
O sistema de gestão utilizado pelo emissor da NFS-e deverá, no momento da finalização da digitação dos dados necessários, efetuar à geração da NFS-e, transmitir para as URLs determinadas, os dados de login, senha, código da cidade (Receita Federal - TOM) e o arquivo no “Layout do Arquivo XML” descrito nesta nota, por método POST.
 
 
3.4 Parâmetros
 
Os parâmetros POST esperados pelo Web Service, na requisição HTTP, com Content-Type: multipart/form-data, são: Campo Tipo Descrição Authorization Text base64_encode(username:password) • Definição de username: CPF/CNPJ do emissor da NFS-e; • Definição de password: Senha de acesso ao sistema.
 
As informações de username e password devem ser passadas junto ao cabeçalho da requisição por meio do Authorization, sendo username:password em formato base64. Exemplo: base64_encode('admin:admin'). • Authorization: Basic YWRtaW46YWRtaW4=
 
O envio do arquivo XML deve ocorrer por meio do método POST, com o corpo de envio codificado para o tipo multipart/form-data. • Content-Type: multipart/form-data
Editado por guilhermeVaz06
Postado

Italo, desculpe estava somente adicionando mais informações que a prefeitura havia me passado na mensagem anterior.

Eu alterei diretamente no arquivo fonte IPM.Provider somente para testar se era isto mesmo, conforme o print em anexo.

Fiz isso somente para verificar se o problema era este, não mantive essa alteração so para deixar claro.

 

Sem título.png

Postado

Bom dia Italo, fiz o passo a passo que você me passou e consegui fazer o envio, recebi somente outro retorno da prefeitura:

image.png.89ccfda969e6f4df7a01f671ef5470e4.pngACBrNFSeXServicos.ini

Vou verificar com eles referente a esses retorno.

Sobre a URL adicionei desta maneira: 

image.png.e90a30a7366ce930e035295f4b6a55d0.png

Mandei em anexo a alteração caso precise. 

Assim que a prefeitura retornar referente aos erros eu aviso aqui 

Postado

Italo, estava verificando aqui e não esta puxando o provedor que eu informei no arquivo ACBrNFSeXServicos.ini, pois não foi esse que eu informei la, e fiz todo o passo a passo que você havia me passado.

Esta correto isso e estou olhando o lugar errado?

image.png.1539756603563638e3b0e462a3b68280.png

image.png.fce904e68a3f646626b8c14d372da322.png

Postado

Italo, fiz uma alteração manual para testar igual havia feito anteriormente para enviar para o link correto, e estou recebendo este retorno, caso isso ajude você.

O pessoal da prefeitura acabou me passando outro link: https://ws-castro.atende.net:7443/atende.php?pg=rest&service=WNERestServiceNFSe&cidade=padrao

 

image.thumb.png.4a47d656298be8396fcfb92bee12ac7d.png

Fiz esta alteração para enviar para o link certo (sei que não é correto, fiz somente para testar):

image.thumb.png.c1709573d90553108661b19ddb8e3643.png

Postado

Italo, eu consegui me comunicar com o provedor depois que adicionei isso:

Emitente.WSChaveAutoriz := 'Basic ' + EncodeBase64(AnsiString(FDMNFSEACBR.QOrigemServicoLOGIN_PREFEITURA.Value+':'+FDMNFSEACBR.QOrigemServicoSENHA_PREFEITURA.Value));

nas configurações gerais e a prefeitura me retornou a seguinte mensagem:

image.thumb.png.e0a269978abcb87c197e22f2e3771904.png

"Arquivo XML da nota fiscal de serviço eletronica não enviado".

Conversando com o pessoal da IPM me passaram que temos que andar o XML da Nota como arquivo, dentro da Requisição.

Como se fosse um anexo.

Como devemos prosseguir com isso?

Postado (editado)

Olá, estou com o mesmo problema em Castro, colocando o Basic no WSChaveAutoriz ele passa o erro do acesso, mas fica como se não tivesse xml no envio.

<?xml version="1.0" encoding="ISO-8859-1"?>
<retorno>
    <mensagem>
        <codigo>9999 - Arquivo XML da Nota Fiscal de Serviço Eletrônica não enviado!</codigo>
    </mensagem>
</retorno>

 

Italo, se não for ruim, dava para por o FPRetorno no Exception deste evento? É que sempre dá problema em algumas prefeitura, eu vou debugando até chegar nesta linha. (anexei o pas)

procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
begin
  ConfigurarHttpClient;

  try
    try
      HttpClient.Execute;
    finally
      CodigoErro := HttpClient.HTTPResultCode;
      CodigoInterno := HttpClient.InternalErrorCode;
    end;

    HttpClient.DataResp.Position := 0;

    FPRetorno := ReadStrFromStream(HttpClient.DataResp, HttpClient.DataResp.Size);

    if FPRetorno = '' then
      raise EACBrDFeException.Create('WebService retornou um XML vazio.');

    LevantarExcecaoHttp;
  except
    on E:Exception do
    begin
      raise EACBrDFeException.CreateDef(Format(ACBrStr(cACBrDFeSSLEnviarException),
        [HttpClient.InternalErrorCode, HttpClient.HTTPResultCode, HttpClient.URL])
        + sLineBreak + HttpClient.LastErrorDesc+ sLineBreak + E.Message
        + sLineBreak + FPRetorno);
    end;
  end;
end;

 

image.thumb.png.bb1cb292d0729f0bc5ba102daadca6ce.png


 

ACBrNFSeXWebserviceBase.pas

Editado por Clverson
  • Consultores
Postado

Boa tarde Clverson,

Por favor crie uma outra postagem, pois a sua não tem nada haver com o assunto inicial deste tópico.

Boa tarde Guilherme,

Se foi necessário acrescentar essa configuração, veja:

procedure TACBrNFSeXWebserviceIPM101.SetHeaders(aHeaderReq: THTTPHeader);
var
  Auth: string;
begin
  with TConfiguracoesNFSe(FPConfiguracoes).Geral.Emitente do
    Auth := 'Basic ' + string(EncodeBase64(AnsiString(WSUser + ':' +
      ParseText(AnsiString(WSSenha), False))));

  aHeaderReq.AddHeader('Authorization', Auth);
end;

O componente monta automaticamente o Authorization se a versão for 1.01

Sendo assim o correto é:

[4104907]
; Incluído em 08/03/2022
; Atualizado em 11/08/2022
Nome=Castro
UF=PR
Provedor=IPM
Versao=1.01
ProRecepcionar=https://ws-castro.atende.net:7443/?pg=rest&service=WNERestServiceNFSe/

 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Bom dia Italo, 

Consegui realizar o envio para o provedor de Castro-PR (IPM)

Tive que fazer as seguintes alterações de configurações:

FDMNFSEACBR.ACBrNFSe.Configuracoes.Geral.Versao := ve101; // você havia sugerido anteriormente 

ProRecepcionar=https://ws-castro.atende.net:7443/atende.php?pg=rest&service=WNERestServiceNFSe&cidade=padrao o link do provedor estava incorreto, entrei em contato com o pessoal por email e me passaram este outro link.

Eu baixei as fontes ontem as 18h 

Alterei o arquivo ACBrNFSeXServicos.ini adicionando a URL correta

Rodei o compila_res e transmiti novamente e deu certo.ACBrNFSeXServicos.ini

Favor baixar o topico, obrigado pela ajuda.

Vou anexar o arquivo alterado.

 

  • Este tópico foi criado há 864 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...