Ir para conteúdo
  • Cadastre-se

dev botao

XML Node não pode ser nulo - IMP - Videira (SC)


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

Recommended Posts

Postado (editado)

Boa tarde, tudo bem?

@Italo Giurizzato Junior @Renato Rubinho e demais consultores/adms estou com um problema para emissão de NFSe em um cliente de Videira IPM.

O retorno do WebService é 'XMLNode não pode ser nulo.' conforme print anexo.

Gostaria de saber se tem algum conhecimento sobre está situação ou se pode ser de algo recente que foi liberado, e conforme o retorno o XML nem chegou a ser gerado por isso não poderei anexá-lo para contribuir na analise.

image.thumb.png.270c7f6b806ddbc1bd17f275f05d37bf.png

Editado por willian_delan
Faltou anexo.
  • Consultores
Postado

Boa noite Willian,

Mais provável que seja na leitura do retorno, por não ter conseguido salvar o XML.

Debugue o ponto do tratamento a seguir, inclusive você vai conseguir ler o XML do retorno.

Veja que no bloco da NotaCompleta a identificação do nó é diferente do outro bloco, o problema pode estar aí.

../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/IPM.Provider.pas

Screenshot_20220915-195638_Chrome.jpg

  • Curtir 2
  • Consultores
Postado

Boa noite Willian,

Acredito que não seja este o motivo do erro.

1. Comente estas linhas, reinstale os componentes e veja se funciona.

2. Você debugou os pontos que falei no tratamento do retorno para ver se ocorre a exceção ali e verificou o XML retornado em Response.ArquivoRetorno?

Postado
  Em 24/09/2022 at 01:47, Renato Rubinho disse:

Boa noite Willian,

Acredito que não seja este o motivo do erro.

1. Comente estas linhas, reinstale os componentes e veja se funciona.

2. Você debugou os pontos que falei no tratamento do retorno para ver se ocorre a exceção ali e verificou o XML retornado em Response.ArquivoRetorno?

Expandir  

Segue arquivo de retorno 

20220926084749-lista-nfse-ger-soap.xmlFetching info...

  Em 15/09/2022 at 23:03, Renato Rubinho disse:

Boa noite Willian,

Mais provável que seja na leitura do retorno, por não ter conseguido salvar o XML.

Debugue o ponto do tratamento a seguir, inclusive você vai conseguir ler o XML do retorno.

Veja que no bloco da NotaCompleta a identificação do nó é diferente do outro bloco, o problema pode estar aí.

../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/IPM.Provider.pas

Screenshot_20220915-195638_Chrome.jpg

Expandir  

O erro não ocorre aqui .

image.thumb.png.0c91a6c5445280d34ede6419c5040e3b.png

 

  • Consultores
Postado

Boa tarde William,

  Em 26/09/2022 at 11:48, willian_delan disse:

SSLLib -> libCapicom

ACryptLib -> cryCampicom

ASSLHttpLib -> httpWinINet

ASSLXmlSignLib -> xsMsXmlCapicom

Expandir  

1. Se for certificado A1, use OpenSSL.

SSLLib := libOpenSSL

SSLCryptLib := cryOpenSSL

SSLHttpLib := httpOpenSSL

Copie as dlls atuais na pasta do seu exe.

trunk2/DLLs/OpenSSL/1.1.1.10/X86/

2. Se for A3, use winCrypt

SSLCryplib = cryWinCrypt

SSLHttpLib = httpWinHttp

3. Para ambos use

SSLXMLSignLib = xsLibXml2 

Copie também as dlls atuais da LibXml2.

trunk2/DLLs/LibXml2/x86/

3.1. SSLType, veja no programa de exemplo, na aba webservice

SSLType := LT_TLSv1_2  

  Em 26/09/2022 at 11:55, willian_delan disse:

O erro não ocorre aqui .

Expandir  

4. Você havia dito que não estava nem gerando o XML, por isso pensei que fosse no tratamento do retorno o problema. 

Note na mensagem que aparentemente faltou gerar os itens, deve se tratar dos itens dos serviços, veja se está gerando

<codigo> XSD Error 1871: Element 'itens': Missing child element(s). Expected is ( lista ). Line: 1</codigo>

5. Anexe também o soap do envio

  • Curtir 1
Postado
  Em 26/09/2022 at 16:50, Renato Rubinho disse:

Boa tarde William,

1. Se for certificado A1, use OpenSSL.

SSLLib := libOpenSSL

SSLCryptLib := cryOpenSSL

SSLHttpLib := httpOpenSSL

Copie as dlls atuais na pasta do seu exe.

trunk2/DLLs/OpenSSL/1.1.1.10/X86/

2. Se for A3, use winCrypt

SSLCryplib = cryWinCrypt

SSLHttpLib = httpWinHttp

3. Para ambos use

SSLXMLSignLib = xsLibXml2 

Copie também as dlls atuais da LibXml2.

trunk2/DLLs/LibXml2/x86/

3.1. SSLType, veja no programa de exemplo, na aba webservice

SSLType := LT_TLSv1_2  

4. Você havia dito que não estava nem gerando o XML, por isso pensei que fosse no tratamento do retorno o problema. 

Note na mensagem que aparentemente faltou gerar os itens, deve se tratar dos itens dos serviços, veja se está gerando

<codigo> XSD Error 1871: Element 'itens': Missing child element(s). Expected is ( lista ). Line: 1</codigo>

5. Anexe também o soap do envio

Expandir  

* O Certificado é do tipo A1, alteramos conforme informou.

TLS estamos usando o LT_TLSv1_2 .

* Realmente não gera xml, apenas teve retorno naquele print que te mandei pois adicionei a TAG NFSE_TESTE por indicação da IPM, com está TAG posso testar em produção e a nota não emite, apenas me retorna se a nota é valida para emitir ou não.

*Segue SOAP do envio

20220926084749-ger-nfse-soap.xmlFetching info...

 

  • Consultores
Postado

Sua tag de itens está vazia, tente adicionar um item e alimente as devidas informações.

NFSe.Servico.ItemServico.New

Veja as propriedades que a função TNFSeW_IPM.GerarLinha utiliza.

../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/IPM.GravarXml.pas

Use a força, leia os fontes... 😉🙂

  • Curtir 2
  • Consultores
Postado

Boa tarde Willian,

No que se refere a tag <data_fato_gerador> na unit IPM.GravarXml note que tem após a grafia da tag os valores: 1, 10, 0

Terceiro valor (zero) indica que a tag é opcional, neste caso a tag vai ser gerada conforme o conteúdo do campo Competencia.

Sendo assim basta atribuir o valor zero ao campo Competencia na rotina que alimenta o componente.

  • Curtir 1
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
  Em 29/09/2022 at 16:41, Italo Giurizzato Junior disse:

Boa tarde Willian,

No que se refere a tag <data_fato_gerador> na unit IPM.GravarXml note que tem após a grafia da tag os valores: 1, 10, 0

Terceiro valor (zero) indica que a tag é opcional, neste caso a tag vai ser gerada conforme o conteúdo do campo Competencia.

Sendo assim basta atribuir o valor zero ao campo Competencia na rotina que alimenta o componente.

Expandir  

Obrigado pela informação.

  Em 29/09/2022 at 16:39, Renato Rubinho disse:

Boa tarde Willian,

Pode compartilhar a solução para que ajude a outros que tenham o mesmo problema futuramente?

Expandir  

Ajustei as informações de: SSLLib, CryptLib, HttpLib, XmlSignLib e SLLType conforme me passaram e reinstalei meu acbr e atualizei os fontes.

  • Curtir 1
  • Este tópico foi criado há 924 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...
The popup will be closed in 10 segundos...