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á 787 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 22/09/2022 at 09:26, Italo Giurizzato Junior disse:

Bom dia Willian,

Quais são os valores de: SSLLib, CryptLib, HttpLib, XmlSignLib e SLLType ?

SSLLib -> libCapicom

ACryptLib -> cryCampicom

ASSLHttpLib -> httpWinINet

ASSLXmlSignLib -> xsMsXmlCapicom

Não identifiquei a SLLType, nem em nosso fonte nem no do acbr.

 

Postado
Em 23/09/2022 at 22: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?

Segue arquivo de retorno 

20220926084749-lista-nfse-ger-soap.xml

Em 15/09/2022 at 20: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

O erro não ocorre aqui .

image.thumb.png.0c91a6c5445280d34ede6419c5040e3b.png

 

  • Consultores
Postado

Boa tarde William,

4 horas atrás, willian_delan disse:

SSLLib -> libCapicom

ACryptLib -> cryCampicom

ASSLHttpLib -> httpWinINet

ASSLXmlSignLib -> xsMsXmlCapicom

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 horas atrás, willian_delan disse:

O erro não ocorre aqui .

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
3 horas atrás, 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

* 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.xml

 

  • 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
3 horas atrás, 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.

Obrigado pela informação.

3 horas atrás, Renato Rubinho disse:

Boa tarde Willian,

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

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á 787 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.