Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado (editado)

Boa Noite!

Ao realizar a Homologação da emissão de NFS-e na cidade de Piracanjuba - GO, estamos com as seguintes situações quanto ao Código do Serviço <ItemListaServico> 

1. Se enviar '1401' ou '14.01'-> Retorno: WebService retornou um XML vazio;
2. Se enviar '140100' ou '14.01.00'-> Retorno: Erro de Validação: -> 1824 - Element '{http://www.centi.com.br/files/nfse.xsd}ItemListaServico': '140100' is not a valid value of the atomic type
    Isto porque conforme o arquivo de schema (..\Schemas\
Site_Centi_Acreuna.xmlCenti\2.02\nfse.xsd) o conteúdo do campo "ItemListaServico" deve ter tamanho mínimo 1 e máximo 5 posições.

Feito a tentativa do passo 2 após analisar o XML de uma NFS-e emitida diretamente no site da Prefeitura, onde o valor para este campo é "14.01.00".
Como internamente o componente altera o valor informado de "14.01.00" para "140100", logo se for desejado o valor '14.01.00' no XML será preciso ajustar os arquivos fontes do componente, porém não tenho a certeza de que esta alteração é o que está impedindo o envio do RPS.


Alguma orientação sobre esta situação?

Um adendo é que para este Provedor no Município de Acreúna-GO o Código do Serviço é "14.01", disponibilizo o XML emitido no Site das duas prefeituras.

 

Katia Carvalho
Departamento de Homologação
Maxdata Software de Gestão

Site_Centi_Piracanjuba.xml

Editado por maxdatasistema
  • Consultores
Postado

Bom dia Katia,

Não podemos comparar o XML de uma nota gerado pela emissão via Site com o gerado pelo webservice, muitas vezes eles são diferentes em valores e layout.

Por favor, configure o componente para salvar os arquivos Soap e faça um novo teste.

Anexe aqui os arquivos Soap gerados para que possamos analisar o problema.

  • Curtir 2
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

  • Consultores
Postado

Boa tarde.

Neste caso, você enviou <itemListaServico>901</ItemListaServico>

O retorno foi WebService retornou um XML vazio?

Ele não chegou a gerar o Soap de resposta?

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa Tarde Diego,

Exatamente o retorno é "WebService retornou um XML vazio".

O problema esta sendo no envio, não irá gerar o arquivo "SOAP" de retorno. 

 

Katia Carvalho
Departamento de Homologação
Maxdata Software de Gestão

  • Consultores
Postado
Citar

O problema esta sendo no envio, não irá gerar o arquivo "SOAP" de retorno.

Não, está mensagem só exibida nas rotinas que tratam a resposta, ou seja, a requisição é enviada normalmente.

Por favor, é possível realizar um debug?

Coloque um ponto de parada na linha 999 da procedure EnvioInterno que fica na unit ACBrNFSeXWebServiceBase localizada em C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\

image.png

Colo que também um ponto de parada na procedure TratarRetornoEmitir da unit Centi.Provider que fica em C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\

image.png

 

Veja qual é o conteúdo de FPRetorno e Response.ArquivoRetorno

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
3 horas atrás, Diego Foliene disse:

Não, está mensagem só exibida nas rotinas que tratam a resposta, ou seja, a requisição é enviada normalmente.

Por favor, é possível realizar um debug?

Coloque um ponto de parada na linha 999 da procedure EnvioInterno que fica na unit ACBrNFSeXWebServiceBase localizada em C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\

image.png

Colo que também um ponto de parada na procedure TratarRetornoEmitir da unit Centi.Provider que fica em C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\

image.png

 

Veja qual é o conteúdo de FPRetorno e Response.ArquivoRetorno

Boa tarde. Erro ocorre na validação do Schema, não chega nas rotinas de envio.

 

Início do Debug (Step Into F7):

* Unit: Nosso código
Linha: x
Médoto: x
Código: acbNFSeX.Emitir(numLote.ToString, meAutomatico, False);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\ACBrNFSeX.pas
Linha: 415
Método: procedure TACBrNFSeX.Emitir(const aLote: String; aModoEnvio: TmodoEnvio; aImprimir: Boolean);
Código: FProvider.Emite;

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\Provedores\ACBrNFSeXProviderBase.pas
Linha: 1642
Método: procedure TACBrNFSeXProvider.Emite;
Código: ValidarSchema(EmiteResponse, tmGerar);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\Provedores\ACBrNFSeXProviderBase.pas
Linha: 1546
Método: procedure TACBrNFSeXProvider.ValidarSchema(Response: TNFSeWebserviceResponse; aMetodo: TMetodo);
Código: FAOwner.SSL.Validar(Response.ArquivoEnvio, Schema, Erros);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrDFeSSL.pas
Linha: 1474
Método: function TDFeSSL.Validar(const ConteudoXML: String; const ArqSchema: String;
  out MsgErro: String): Boolean;
Código: Result := FSSLXmlSignClass.Validar(ConteudoXML, ArqSchema, MsgErro);


Result: False
ArqSchema: 'D:\Max\LAB\NFSE2\Schemas\Centi\2.02\nfse.xsd'
MsgErro: ' --> 1824 - Element ''{http://www.centi.com.br/files/nfse.xsd}ItemListaServico'': ''140100'' is not a valid value of the atomic type ''{http://www.centi.com.br/files/nfse.xsd}tsItemListaServico''.'

erro.png

  • Consultores
Postado
32 minutos atrás, maxdatasistema disse:

Boa tarde. Erro ocorre na validação do Schema, não chega nas rotinas de envio.

 

Início do Debug (Step Into F7):

* Unit: Nosso código
Linha: x
Médoto: x
Código: acbNFSeX.Emitir(numLote.ToString, meAutomatico, False);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\ACBrNFSeX.pas
Linha: 415
Método: procedure TACBrNFSeX.Emitir(const aLote: String; aModoEnvio: TmodoEnvio; aImprimir: Boolean);
Código: FProvider.Emite;

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\Provedores\ACBrNFSeXProviderBase.pas
Linha: 1642
Método: procedure TACBrNFSeXProvider.Emite;
Código: ValidarSchema(EmiteResponse, tmGerar);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\Provedores\ACBrNFSeXProviderBase.pas
Linha: 1546
Método: procedure TACBrNFSeXProvider.ValidarSchema(Response: TNFSeWebserviceResponse; aMetodo: TMetodo);
Código: FAOwner.SSL.Validar(Response.ArquivoEnvio, Schema, Erros);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrDFeSSL.pas
Linha: 1474
Método: function TDFeSSL.Validar(const ConteudoXML: String; const ArqSchema: String;
  out MsgErro: String): Boolean;
Código: Result := FSSLXmlSignClass.Validar(ConteudoXML, ArqSchema, MsgErro);


Result: False
ArqSchema: 'D:\Max\LAB\NFSE2\Schemas\Centi\2.02\nfse.xsd'
MsgErro: ' --> 1824 - Element ''{http://www.centi.com.br/files/nfse.xsd}ItemListaServico'': ''140100'' is not a valid value of the atomic type ''{http://www.centi.com.br/files/nfse.xsd}tsItemListaServico''.'

erro.png

Neste caso, você informou 14O100, testando a hipótese 2:

Citar

2. Se enviar '140100' ou '14.01.00'-> Retorno: Erro de Validação: -> 1824 - Element '{http://www.centi.com.br/files/nfse.xsd}ItemListaServico': '140100' is not a valid value of the atomic type

Nela, o erro de schema realmente acontece durante a montagem do XML e neste caso, ele não vai mesmo gerar os envelopes, pois não chega a fazer o envio.

Por favor, faça o teste que lhe pedi preenchendo com a informação da hipótese 1:

Citar

1. Se enviar '1401' ou '14.01'-> Retorno: WebService retornou um XML vazio;

O objetivo é ver se o WebService realmente não está devolvendo nada na resposta(conteúdo de FPRetorno e Reponse.ArquivoRetorno).

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
Em 25/05/2023 at 17:31, Diego Foliene disse:

Neste caso, você informou 14O100, testando a hipótese 2:

Nela, o erro de schema realmente acontece durante a montagem do XML e neste caso, ele não vai mesmo gerar os envelopes, pois não chega a fazer o envio.

Por favor, faça o teste que lhe pedi preenchendo com a informação da hipótese 1:

O objetivo é ver se o WebService realmente não está devolvendo nada na resposta(conteúdo de FPRetorno e Reponse.ArquivoRetorno).

Boa tarde, teste refeito, segue o acompanhamento no debug:

 

Início do Debug (Step Into F7):

* Unit: Nosso código
Linha: x
Médoto: x
Código: acbNFSeX.Emitir(numLote.ToString, meAutomatico, False);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\ACBrNFSeX.pas
Linha: 415
Método: procedure TACBrNFSeX.Emitir(const aLote: String; aModoEnvio: TmodoEnvio; aImprimir: Boolean);
Código: FProvider.Emite;

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\Provedores\ACBrNFSeXProviderBase.pas
Linha: 1683
Método: procedure TACBrNFSeXProvider.Emite;
Código: EmiteResponse.ArquivoRetorno := AService.GerarNFSe(ConfigMsgDados.DadosCabecalho, EmiteResponse.ArquivoEnvio);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.Provider.pas
Linha: 525
Método: function TACBrNFSeXWebserviceCenti202.GerarNFSe(ACabecalho, AMSG: String): string;
Código: Result := Executar('http://tempuri.org/IServiceNfse/GerarNfse' + Operacao, Request, ['GerarNfseResposta'], []);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 926
Método: function TACBrNFSeXWebservice.Executar(SoapAction, Message: string; responseTag, namespace: array of string): string;
Código: Result := Executar(SoapAction, Message, '', responseTag, namespace);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 1022
Método: TACBrNFSeXWebservice.Executar(SoapAction, Message, SoapHeader: string; responseTag, namespace: array of string): string;
Código: EnviarDados(SoapAction);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 958
Método: procedure TACBrNFSeXWebservice.EnviarDados(SoapAction: string);
Código: EnvioInterno(HTTPResultCode, InternalErrorCode);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 989
Método: procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
Código: HttpClient.Execute;

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrDFeHttpWinApi.pas
Linha: 95
Método: procedure TDFeHttpWinHttp.Execute;
Código: FWinHTTPReqResp.Execute(DataResp);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrTCP\ACBrWinReqRespClass.pas
Linha: 763
Método: procedure TACBrWinReqResp.Execute(Resp: TStream);
Código: Receive(Resp);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrTCP\ACBrWinReqRespClass.pas
Linha: 642
Método: procedure TACBrWinReqResp.Receive(Resp: TStream);
Código: Receive(Resp);

** Nesse ponto o conteúdo da propriedade "FWinHTTPReqResp.HeaderResp.Text":

'HTTP/1.1 404 Not Found'
'Connection: keep-alive'
'Date: Wed, 31 May 2023 17:26:09 GMT'
'Content-Length: 0'
'X-Powered-By: ASP.NET'
'X-Frame-Options: SAMEORIGIN'
'Strict-Transport-Security: max-age=31536000; includeSubDomains'
'Permissions-Policy: geolocation=()'

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 999 e 1000
Método: procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
Código:
  if FPRetorno = '' then
    raise EACBrDFeException.Create('WebService retornou um XML vazio.');
    
* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 960 ... 967
Método: procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
Código:
    except
      if Assigned(FPDFeOwner.OnTransmitError) then
        FPDFeOwner.OnTransmitError(HTTPResultCode, InternalErrorCode,
                                   FPURL, FPEnvio, SoapAction,
                                   Tentar, Tratado);

      if not (Tentar or Tratado) then raise;
    end;
    
** A exception disparada retorna:

Erro: X999 | Erro de Conexão: Erro Interno: 0

Erro HTTP: 404

URL: http://app.centi.com.br/piracanjuba/wcf/service/ServiceNfse.svc/ws

WebService retornou um XML vazio. |

** Obs.: Ao acessar o link "http://app.centi.com.br/piracanjuba/wcf/service/ServiceNfse.svc/ws" no browser o retorno também é HTTP 404;

  • Consultores
  • Solution
Postado
40 minutos atrás, maxdatasistema disse:

Boa tarde, teste refeito, segue o acompanhamento no debug:

 

Início do Debug (Step Into F7):

* Unit: Nosso código
Linha: x
Médoto: x
Código: acbNFSeX.Emitir(numLote.ToString, meAutomatico, False);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\ACBrNFSeX.pas
Linha: 415
Método: procedure TACBrNFSeX.Emitir(const aLote: String; aModoEnvio: TmodoEnvio; aImprimir: Boolean);
Código: FProvider.Emite;

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\Provedores\ACBrNFSeXProviderBase.pas
Linha: 1683
Método: procedure TACBrNFSeXProvider.Emite;
Código: EmiteResponse.ArquivoRetorno := AService.GerarNFSe(ConfigMsgDados.DadosCabecalho, EmiteResponse.ArquivoEnvio);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.Provider.pas
Linha: 525
Método: function TACBrNFSeXWebserviceCenti202.GerarNFSe(ACabecalho, AMSG: String): string;
Código: Result := Executar('http://tempuri.org/IServiceNfse/GerarNfse' + Operacao, Request, ['GerarNfseResposta'], []);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 926
Método: function TACBrNFSeXWebservice.Executar(SoapAction, Message: string; responseTag, namespace: array of string): string;
Código: Result := Executar(SoapAction, Message, '', responseTag, namespace);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 1022
Método: TACBrNFSeXWebservice.Executar(SoapAction, Message, SoapHeader: string; responseTag, namespace: array of string): string;
Código: EnviarDados(SoapAction);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 958
Método: procedure TACBrNFSeXWebservice.EnviarDados(SoapAction: string);
Código: EnvioInterno(HTTPResultCode, InternalErrorCode);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 989
Método: procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
Código: HttpClient.Execute;

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrDFeHttpWinApi.pas
Linha: 95
Método: procedure TDFeHttpWinHttp.Execute;
Código: FWinHTTPReqResp.Execute(DataResp);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrTCP\ACBrWinReqRespClass.pas
Linha: 763
Método: procedure TACBrWinReqResp.Execute(Resp: TStream);
Código: Receive(Resp);

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrTCP\ACBrWinReqRespClass.pas
Linha: 642
Método: procedure TACBrWinReqResp.Receive(Resp: TStream);
Código: Receive(Resp);

** Nesse ponto o conteúdo da propriedade "FWinHTTPReqResp.HeaderResp.Text":

'HTTP/1.1 404 Not Found'
'Connection: keep-alive'
'Date: Wed, 31 May 2023 17:26:09 GMT'
'Content-Length: 0'
'X-Powered-By: ASP.NET'
'X-Frame-Options: SAMEORIGIN'
'Strict-Transport-Security: max-age=31536000; includeSubDomains'
'Permissions-Policy: geolocation=()'

* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 999 e 1000
Método: procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
Código:
  if FPRetorno = '' then
    raise EACBrDFeException.Create('WebService retornou um XML vazio.');
    
* Unit: D:\Trabalho\Ferramentas\Componentes\XE10.1\Acbr\Fontes\ACBrDFe\ACBrNFSeX\Base\WebServices\ACBrNFSeXWebserviceBase.pas
Linha: 960 ... 967
Método: procedure TACBrNFSeXWebservice.EnvioInterno(var CodigoErro, CodigoInterno: Integer);
Código:
    except
      if Assigned(FPDFeOwner.OnTransmitError) then
        FPDFeOwner.OnTransmitError(HTTPResultCode, InternalErrorCode,
                                   FPURL, FPEnvio, SoapAction,
                                   Tentar, Tratado);

      if not (Tentar or Tratado) then raise;
    end;
    
** A exception disparada retorna:

Erro: X999 | Erro de Conexão: Erro Interno: 0

Erro HTTP: 404

URL: http://app.centi.com.br/piracanjuba/wcf/service/ServiceNfse.svc/ws

WebService retornou um XML vazio. |

** Obs.: Ao acessar o link "http://app.centi.com.br/piracanjuba/wcf/service/ServiceNfse.svc/ws" no browser o retorno também é HTTP 404;

Boa tarde!

Hmmm, estranho pois esta URL coincide com a que temos no ACBrNFSeXServicos.ini
image.png

Mas o fato de você receber 404 é um indicativo de que a mesma está incorreta.

Por favor, é possível conferir junto a prefeitura se este é de fato o provedor que atende a cidade e caso positivo qual é a URL correta?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa tarde, Diego!

O provedor do município de Piracanjuba-GO é mesmo o "Centi" podendo ser acessado através do link:

https://go.centi.com.br/piracanjuba/portalservicos/?#/login

Em contato com a prefeitura foi passado somente o link do manual: 
https://sites.google.com/a/centi.com.br/nfse/documentacao-nfs-e
http://app.centi.dev.br/files/nfse.xsd
http://app.centi.dev.br/files/xmldsig-core-schema20020212.xsd

eles foram vagos na resposta. Estes documentos já ajuda?

  • Consultores
Postado
Citar

Estes documentos já ajuda?

Um dos links aponta para uma documentação em Swagger que indica um outro link de WebService.

Por favor, pode substituir estes arquivos dentro de ..\ACBr\Fontes\ACBrDFe\ACBrNFSeX, reinstalar o ACBr e realizar um novo teste?

No teste que fiz recebi no retorno "Usuário ou Senha Inválidos", mas eu não tenho mesmo dados válidos.

Lembre-se de testar a hipótese 1 usando o método GerarNFSe.

Citar

1. Se enviar '1401' ou '14.01'-> Retorno: WebService retornou um XML vazio;

Por favor, me avise do resultado.

ACBrNFSeXServicos.res ACBrNFSeXServicos.ini

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa tarde!

Testando na hipótese 1 temos o seguinte retorno:

 

Requisição
Ambiente: 1
Cidade  : Piracanjuba/GO
Provedor: Centi Versão: 2.02
 
Método Executado: Gerar NFSe
 
Parâmetros de Envio
Numero do Lote: 33
 
Parâmetros de Retorno
Data de Envio : 30/12/1899
Numero do Prot: 
Numero da Nota: 
Link          : 
Código Verif. : 
Sucesso       : True
 
Erro(s):
Código  : 
Mensagem: Cód. erro :0
Correção: 
---------
Código  : 
Mensagem: Serviço informado não autorizado. Serviços autorizados (85, 86)
Correção: 
---------
Código  : X202
Mensagem: Lista de NFSe não encontrada! (ListaNfse)
Correção: 
---------
 
NFS-e Numero....: 168
Cod. Verificacao: 
Prestador.......: BOX 87 AUTO ELETRICA E ACESSORIOS LTDA
Tomador.........: KATIA MORAIS DE CARVALHO

O serviço informado está liberado conforme a imagem "DEPHOM001.png".

Uma fato interessante é que ao emitir a NFS-e diretamente no portal da prefeitura, na emissão (DEPHOM001.png), no DANFSE (DEPHOM002.png) e no XML (DEPHOM003.png) o serviço está com "14.01.00" (chegando na nossa hipótese 2).

DEPHOM001.png

DEPHOM002.png

DEPHOM003.png

  • Consultores
Postado

Boa tarde!

Hmm, conforme o Italo explicou anteriormente:

Citar

Não podemos comparar o XML de uma nota gerado pela emissão via Site com o gerado pelo webservice, muitas vezes eles são diferentes em valores e layout.

Mas de fato, parece que enviar 1401 não vai funcionar.

Como você mesma já mencionou no começo, nos schemas que temos disponíveis, o tamanho máximo para este campo é 5.

Por favor, vou lhe pedir para fazer mais um teste.

Com a unit atual, mesmo que você passe "14.01" para a propriedade, no XML é gerado como "1401".

Substitua a unit em anexo no caminho C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores e faça um novo teste.

Com esta unit alterada, se você passar "14.01" é para ele gerar "14.01" na tag.

Se mesmo assim o problema persistir, não vejo alternativa a não ser alterar no schema para testar.

Mas neste caso, como estaríamos alterando o arquivo Schema que foi fornecido pelo provedor, o ideal é entrar em contato com os mesmos e solicitar se há um novo arquivo Schema com tamanho 6.

Centi.GravarXml.pas

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Arquivo ACBrNFSeXServicos.ini com as alterações para Piracanjuba-GO enviado para o SVN na Rev-29724

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • 2 semanas depois ...
  • Membros Pro
Postado

Boa tarde, Diego!

Desculpa pela demora, mas agora que o suporte do Provedor nos responderam.

Ao mencionarmos, que ao enviar o Código de Serviço "14.01" tínhamos o retorno: Serviço informado não autorizado. Serviços autorizados (85, 86).
Recebemos o seguinte feedback:

 

No município de Piracanjuba, o valor informado para a tag "ItemListaServico", deve ser o ID do cadastro do serviço no sistema interno da prefeitura.
Deve ser informado da seguinte forma:

Para o serviço 
14.01.00, deve ser informado o valor 85;
Para o serviço 14.02.00, deve ser informado o valor 86.
 
Este atendimento foi realizado através do protocolo 2023062999.
Para demais dúvidas ou solicitações por favor entre em contato novamente.
 

Att, Júlio César R. Vilela
Centi

 

Desta Forma o valor esperado é 85 e não 1401 ou 140100. Fiz esta alteração na aplicação mesmo, e ao informar o código 85 foi enviado o RPS ao provedor, e no XML está ItemListaServico igual a 14.01.00.

 

Katia Carvalho
Departamento de Homologação
Maxdata Software de Gestão

1037-lista-nfse-ger.xml 37aeb4ff-1e76-4393-8b94-854b4a0d61df.pdf

  • Curtir 1
  • Consultores
Postado
20 horas atrás, maxdatasistema disse:

Boa tarde, Diego!

Desculpa pela demora, mas agora que o suporte do Provedor nos responderam.

Ao mencionarmos, que ao enviar o Código de Serviço "14.01" tínhamos o retorno: Serviço informado não autorizado. Serviços autorizados (85, 86).
Recebemos o seguinte feedback:

 

No município de Piracanjuba, o valor informado para a tag "ItemListaServico", deve ser o ID do cadastro do serviço no sistema interno da prefeitura.
Deve ser informado da seguinte forma:

Para o serviço 
14.01.00, deve ser informado o valor 85;
Para o serviço 14.02.00, deve ser informado o valor 86.
 
Este atendimento foi realizado através do protocolo 2023062999.
Para demais dúvidas ou solicitações por favor entre em contato novamente.
 

Att, Júlio César R. Vilela
Centi

 

Desta Forma o valor esperado é 85 e não 1401 ou 140100. Fiz esta alteração na aplicação mesmo, e ao informar o código 85 foi enviado o RPS ao provedor, e no XML está ItemListaServico igual a 14.01.00.

 

Katia Carvalho
Departamento de Homologação
Maxdata Software de Gestão

1037-lista-nfse-ger.xml 3.02 kB · 0 downloads 37aeb4ff-1e76-4393-8b94-854b4a0d61df.pdf 267.2 kB · 0 downloads

Boa tarde!

Que bom que deu certo de encontrar a solução para a questão.

Neste caso em questão, foi resolvida enviando o valor 85.

O ideal seria que o provedor fornecesse uma tabela, pois não tem como adivinhar qual valor corresponde a que nesses casos e o padrão que estamos habituados é o código de serviço.

Muito obrigado por reportar.

Pelo que pude perceber esta questão está encerrada.

Vou encerrar o tópico e caso surja alguma nova dúvida ou problema, basta criar um novo.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 515 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.