Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - Americana/SP Tiplan, v2.03 - E185: A versão de dados não existe. A versão do XML Schema não existe.


iTecSys
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 768 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia,

Gostaria de um ajuda por gentileza que estou meio as cegas de como resolver o problema abaixo.

Estou adequando o sistema para a nova versão(2.03) da NFS-e que Americana esta mudando porém ao tentar emitir a NFS-e pelo novo componente o mesmo me retorna o seguinte erro.

       Erro(s):
       Código  : E185
       Mensagem: A versão de dados não existe. A versão do XML Schema não existe.
       Correção: Utilize uma versão de dados existente e suportada pelo sistema. Consulte o Manual da NFS-e para saber quais são as versões de XML Schema suportadas pelo sistema.

Para testar na nova URL de homologação alterei o ACBrNFSeXServicos.RES da seguinte maneira, e no componente estou enviando como taHomologacao. 

       [3501608]
       ; Atualizado em 30/06/2022
       Nome=Americana
       UF=SP
       Provedor=Tiplan
       Versao=2.03
       ProRecepcionar=https://nfse.americana.sp.gov.br/nfse/wsnacional2/nfse.asmx
       HomRecepcionar=https://americanahomologacao.nfe.com.br/nfse/wsnacional2/nfse.asmx
       ;
       ProLinkURL=https://nfse.americana.sp.gov.br/nfse.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%
       HomLinkURL=https://nfse.americana.sp.gov.br/nfse.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%

Deixei o modo automático de envio, ACBrNFSeX.Emitir(sNumero);

Segue em anexo arquivos: envio (3971-env-lot-sinc), retorno com o erro (3971-lista-nfse-sinc) , schemas que estou utilizando: nfse.xsd e xmldsig-core-schema20020212.xsd e o ACBrNFSeXServicos.res alterado.

Muito obrigado desde já!!!

3971-env-lot-sinc.xml 3971-lista-nfse-sinc.xml nfse.xsd xmldsig-core-schema20020212.xsd ACBrNFSeXServicos.RES

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Você alterou diretamente o arquivo RES?

O correto é alterar o arquivo INI, depois executar o Compila_RES, depois reinstalar o ACBr e por fim fazer novos testes.

Lembrando que somente o ambiente de homologação já esta apto a receber o XML do Rps na versão 2.03, versão esta divulgada.

Agora se eles divulgam que a versão adotada é 2.03 e o webservice espera uma outra versão, o que podemos fazer?

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

Link para o comentário
Compartilhar em outros sites

Olá Italo!

Referente ao .res fiz exatamente isso, mudei no .ini e compilei para gerar o .res e depois substituo o mesmo dentro da pasta lib gerada pela instalação.

Sim, entendo que depende deles, estou em contato com eles para tentar entender também. 

O suporte da Tiplan me mandou os arquivos em anexo de exemplo de xml para envio, havia mandado para eles o mesmo arquivo de postei anteriormente de tentativa de envio de lote.

Como não salvei o arquivo com os dados do envelope e cabeçalho ele alegou que esta faltando isso, mas sei que o componente monta no momento do envio.

Vou gerar o arquivo completo com cabeçalho e mandar para eles avaliarem.

Agradeço muito a resposta e ajuda, qq novidade atualizo aqui.

EnviarLoteRpsSincronoEnvio_SOAP.xml Cabecalho.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Configure o programa exemplo para salvar o arquivo SOAP.

Faça um novo teste de envio e anexe o XML: *-env-lot-sinc-soap.xml 

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Carlos,

Muito obrigado pelo XML.

Comparando o seu XML com o XML exemplo que o iTecSys anexou a versão é exatamente a mesma, ou seja, 2.03

O que muda é que o componente esta convertendo a mensagem de cabeçalho e de dados em string e no exemplo foi utilizado o CDATA.

Essa alteração pode ser feita na unit Provider do provedor.

O meu receio é que isso poderá gerar um efeito colateral para a cidade de Niteroi/RJ que se utiliza do mesmo provedor e versão do WebService.

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

Link para o comentário
Compartilhar em outros sites

Boa tarde pessoal,

Desculpe o atraso.

Alterei bem brutamente mesmo para testar os arquivos ACBrNFSeXWebserviceBase e Tiplan.Provider

Com isso consegui gerar o arquivo com base no exemplo passado por eles, porém, continuou o erro.

Mandei e-mail para eles e segue o historico:

"Tive que encaminhar esse atendimento para nosso time de desenvolvimento. Assim que eu receber o retorno, volto neste email."

Hoje me mandaram:

"Após essa atualização eu consegui enviar o seu arquivo para o webservice com sucesso."

Ainda não consegui validar, assim que testar volto a responder aqui.

Segue em anexo caso queriam os arquivos alterados e o .xml que enviei para validação deles.

 

Obrigado a todos mais uma vez. 

 

 

3971-env-lot-sinc-soap.xml ACBrNFSeXWebserviceBase.pas Tiplan.Provider.pas

Link para o comentário
Compartilhar em outros sites

Boa tarde, fiz novamente o teste com base no que a iTecSys falou "sem ter que mudar o fonte" a resposta da prefeitura mudou, entendi que estão fazendo alguma alteração no sistema deles sobre isso, caso contrario não iria devolver erro diferente.

 

Erro(s):
Código  : E47
Mensagem: CPF/CNPJ do tomador do serviço incorreto.
Correção: Informe corretamente o CPF/CNPJ do tomador do serviço.

 

Porem colocando um CPF válido o erro é alterado para

 

Erro(s):
Código  : X999
Mensagem: Erro de Conexão: Premature end of data in tag RecepcionarLoteRpsSincronoResponse line 1

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Carlos,

Fazer um novo teste de envio com o programa exemplo configurado para salvar os arquivos Envelope Soap.

Anexe os arquivos gerados para que eu possa analisar.

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

Link para o comentário
Compartilhar em outros sites

Tive o retorno abaixo por parte deles e assim que possível vou fazer essa mudança para testar.

Email da Tiplan:

Comparando com o exemplo que disponibilizamos para auxiliar vocês, identificamos as diferenças abaixo:
 
 
- seu arquivo anexado ao último email que recebemos
 
image.png
 
- exemplo EnviarLoteRpsSincronoEnvio_SOAP disponível no menu MANUAIS DE AJUDA do ambiente de homologação
 
image.png
 
Por favor façam os ajustes necessários e enviem novamente.
,
 
 
 
Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

No meu post anterior era o retorno da prefeitura, eles pediram para usar o código abaixo no lugar do que estava sendo enviado por nós.

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soapenv:Body>

 

Fiz essa alteração e testei mas nada mudou, coloquei com o CDATA e nada mudou também.

 

Agora fiz diferente, no Tiplan.Provider - RecepcionarSincrono

Fixei o XML deles exatamente como o do exemplo trocando CNPJ e NOME.

Comunicou aparentemente ok e deu alguns retornos de problema de CNAE, Servico, IM fui ajustando até chegar onde estou, tem uma rejeição de CNAE que estou tentando entender o motivo para destravar.

Minha ideia é enviar esse arquivo exatamente como eles estão pedindo no exemplo, porque entendo que resolvendo os códigos de rejeição por parte deles tem que processar. Após esse processamento vou voltando partes do componente para ver qual bloco estava me travando o envio.

 

Não achei um caminho mais fácil do que esse.

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Carlos,

Despois você anexa as Units que você alterou para que possamos analisar.

Desde já muito obrigado pela colaboração.

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

Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

Eles resolveram o problema da Rejeição do CNAE que estava passando e agora consegui revisar até chegar em uma conclusão

 

Sobre o envio, agora vai corretamente segue evidencia

Método Executado: Enviar Lote Síncrono
 
Parâmetros de Envio
Numero do Lote: 10
 
Parâmetros de Retorno
Data de Envio : 26/07/2022
Numero do Prot: 00000000000000000000000000000000000000000000000146
Numero da Nota: 10
Link          : 
Código Verif. : T4EVFHXM
Sucesso       : True
 
NFS-e Numero....: 10
Cod. Verificacao: T4EVFHXM
Prestador.......: DXZQAW SSIWJAYIJOI I AIMALOHAU QONOGTIOD DLDE
Tomador.........: INSCRICAO DE TESTE
Nome do arquivo.: D:\Projetos\Cmp\ACBr\Exemplos\ACBrDFe\ACBrNFSeX\Delphi\Logs\Notas\3522070923907300010556000000000000010-nfse.xml
==> Xml da nota não salvo em disco.
 

Foi necessário fazer o envio com CDATA no nfseCabecMsg e no nfseDadosMsg, onde antes ia nfse:RecepcionarLoteRpsSincronoRequest passou a ser enviado sem nfse e com o xmlns "http://nfse.abrasf.org.br/".

segue como ficou:

function TACBrNFSeXWebserviceTiplan203.RecepcionarSincrono(ACabecalho,
  AMSG: String): string;
var
  Request: string;
begin
  FPMsgOrig := AMSG;

  Request := '<RecepcionarLoteRpsSincronoRequest xmlns="http://nfse.abrasf.org.br/">';
  Request := Request + '<nfseCabecMsg><![CDATA[' + ACabecalho + ']]></nfseCabecMsg>';
  Request := Request + '<nfseDadosMsg xmlns=""><![CDATA[' + AMSG + ']]></nfseDadosMsg>';
  Request := Request + '</RecepcionarLoteRpsSincronoRequest>';

  Result := Executar('http://nfse.abrasf.org.br/RecepcionarLoteRpsSincrono', Request,
                     ['outputXML', 'EnviarLoteRpsSincronoResposta'],
                     ['xmlns:nfse="http://nfse.abrasf.org.br/"']);
end;

 

Sobre o erro Premature end of data in tag o motivo era o destaque das duas tags no XML após retirar passou a enviar corretamente.


Tomador.Endereco.CodigoPais := 1058;
Servico.CodigoPais := 1058; 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Carlos,

Favor anexar as units alteradas para que eu possa analisar e estando tudo Ok, envio para o SVN.

Desde já muito obrigado pela colaboração.

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Carlos,

Faça uma copia das Units que você alterou.

Desfaça a alteração na unit ACBrNFSeXWebserviceBase e utilize a unit do provedor em anexo.

Tiplan.Provider.pas

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

Link para o comentário
Compartilhar em outros sites

Bom dia, 

Fiz o teste e deu certo o envio e a consulta por lote, fiz conforme orientado, pelo Demo e pela nossa aplicação.

Tentei fazer o cancelamento e deu retorno falando para fazer o serviço de substituição no lugar, não tive tempo de analisar ainda se é isso mesmo se não existe cancelamento para esse provedor, vou enviar os arquivos gerados pelo cancelamento, caso tiver uma orientação já facilita minha analise.

 

Obrigado!

 

23-can.xml 23-can-soap.xml 23-ped-can.xml 23-ped-can-soap.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Carlos,

Segundo o Manual da versão 2.03 da ABRASF temos os seguintes códigos de cancelamento:

1 – Erro na emissão
2 – Serviço não prestado
3 – Erro de assinatura
4 – Duplicidade da nota
5 – Erro de processamento

Importante:

Os códigos 3 (Erro de assinatura) e 5 (Erro de processamento) são de uso restrito da Administração Tributária Municipal.

Como no seu teste você informou o código 1 (erro de emissão), a prefeitura entende que vai ser emitida uma outra nota, neste caso em vez de você cancelar a nota errada e depois emitir uma nota nota, você pode fazer esses dois processos em um único, ou seja, usar o serviço SubstituirNFSe, este serviço lhe permite cancelar a nota errada e emitir uma nova que substituirá a errada que foi cancelada.

Agora se você solicitar o cancelamento de uma nota informando o código 2 ou 4, acredito que o método cancelar vai funcionar.

Faça esses testes e me de um retorno.

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

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Fiz os testes e o cancelamento também funcionou.

Agora acredito que falta somente o serviço SubstituirNFSe, não consegui fazer o debug, única ação que fiz foi atualizar todo o componente e instalar novamente para ver se era algum erro das minhas alterações, mas mesmo assim o erro continua.

Erro Access violatio, segue os prints com a linha do erro e o erro.

Assim que possível vou fazer p debug, caso tiver alguma pista já ajuda.

 

Obrigado!276617164_erro1NFSsubst.thumb.PNG.248355164357191a9037dd8f3dc9c965.PNG

 

1670584983_erro1NFSsubsttela.thumb.PNG.ab2bc4a87ebec6e87f912f5469733f6b.PNG

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Carlos,

Pode ser que esse erro esteja ocorrendo ao tratar o retorno do SubstituirNFSe.

Favor configurar o programa exemplo para salvar os Envelope (soap).

Faça um novo teste de substituição e anexe os XML (soap) gerados.

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

Link para o comentário
Compartilhar em outros sites

Bom dia, desculpe a demora consegui fazer o debug somente hoje.

Identifiquei que um objeto estava nil, fui fazer o create dele no construtor como de costume sempre vejo o svn para saber se já fizeram ou não algum ajuste, terça passada vocês fizeram uma correção colocando um clear que faz a construção do objeto nos pontos necessário.

Deu certo o serviço de substituição.

 

Agora vou terminar a construção no nosso sistema, caso existir mais algum ponto volto aqui para alinhar.

 

Obrigado pela ajuda!

 

 

Link para o comentário
Compartilhar em outros sites

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