Ir para conteúdo
  • Cadastre-se

dev botao

WebService retornou um XML vazio Provedor ISSGoiania


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

Recommended Posts

  • Consultores
Postado
27 minutos atrás, C4Dev disse:

Olá;

Estavamos emitindo NFS-e normalmente para Goiania, com o provedor ISSGoiania.

Porém depois de atualizar começamos a receber a mensagem:

WebService retornou um XML vazio

Percebi que os retornos do List estão em formato Json.

image.thumb.png.bc2fbfe6981ab883cb9551d46777ab58.png

15599-lista-nfse-ger-soap.json 58 B · 1 download

Bom dia @C4Dev!
Veja a estrutura da procedure SalvarRetornoWebService
image.png

A variável ConteudoEhXML recebe o valor da função StringIsXML que procura os símbolos < e > no conteúdo da mensagem.

function StringIsXML(const AString: String): Boolean;
begin
  Result :=(pos('<', AString) > 0) and (pos('>', AString) > 0);
end;

O conteúdo do arquivo que você anexou é:

Citar

You do not have permission to view this directory or page.

Por isso o fluxo entendeu que o a mensagem era um JSON e gerou um arquivo JSON.

Agora quanto a mensagem em si, considerando o conteúdo dela e que a mesma foi devolvido no Soap de resposta, me parece ser problema do lado do provedor.

Mas caso queira confirmar, se possível, por favor, faça um revert dos seus fontes antes da última atualização que fez e detectou o problema e realize um novo teste.

  • 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 !!

  • Consultores
Postado
20 minutos atrás, C4Dev disse:

@Diego Foliene

Algo que pode interferir usando OpenSSL e WinCrypt.

Porque emitindo pelo exemplo, retorna certo, já por uma aplicação Linux não.

Usando os mesmo fontes.

A mensagem me parece ser um problema da ponta do provedor, mas acho que vale a pena testar essas questões.

Para Linux você deve usar OpenSSL considerando que o WinCrypt precisa das atualizações do Windows.

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 (editado)

@Diego Foliene

Fiz vários testes, com a aplicação rodando no windows, funciona perfeitamente.

Já no Linux retorna este erro.

 

Outra coisa que percebi, no windows ele gera os arquivos corretos:

image.thumb.png.19edbd8f73e09e77e352510d092d99e1.png

Já no Linux gera incorreto, a questão do Json:

image.thumb.png.f2f673dabf1221610033cd4d813e3651.png

 

 

Editado por C4Dev
  • Consultores
Postado
3 minutos atrás, C4Dev disse:

@Diego Foliene

Fiz vários testes, com a aplicação rodando no windows, funciona perfeitamente.

Já no Linux retorna este erro.

 

Outra coisa que percebi, no windows ele gera os arquivos corretos:

image.thumb.png.19edbd8f73e09e77e352510d092d99e1.png

Já no Linux gera incorreto, a questão do Json:

image.thumb.png.f2f673dabf1221610033cd4d813e3651.png

 

 

A geração do JSON é a questão que já foi explicada antes.
O retorno vem uma mensagem de erro fora dos padrões e o componente entende que é JSON por ser a exceção.

Os testes que realizou, foram usando OpenSSL? Certificou-se que as Dlls ou equivalente no Linux estão atualizadas? Usou TLS1.2 para comunicação?

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

@Diego Foliene

Pelo Linux usando OpenSSL e pelo Windows usando WinCrypt.

Tudo enviando igualmente nas duas situações, um emite e outro não. No windows retorna certo, já no Linux não.

 

 

  • Consultores
Postado

Bom dia,

A alteração ocorreu somente na extensão do arquivos, pois temos provedores que em vez de gerarmos um XML para ser enviado, é gerado um JSON e ao meu ver não faz nenhum sentido o componente colocar no inicio desse JSON o encoding e salvar ele em disco com a extensão XML.

E o mesmo entendimento no que se refere ao retorno, pois esse provedor que devemos gerar e enviar um JSON, também os retornos são em JSON, logo não faz sentido salvar com encoding e com a extensão XML.

Agora eu gostaria de saber:

1. você diz que em um emite e outro não, explique melhor isso e em qual deles (Windows ou Linux) ocorre o problema.

2. você diz que no Windows retorna certo, já no Linux não, o que não retorna certo, explique melhor isso.

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

  • Membros Pro
  • Solution
Postado

O problema era na forma que a gente carregava o certificado

Na aplicação Windows, era feita a leitura do certificado, pelo número de série:

Configuracoes.Certificados.numeroserie

já no binário do Linux era importado o certificado de um endpoint.

Configuracoes.Certificados.URLPFX 

 

Neste caso, não estava conseguindo buscar o certificado corretamente.

  • Curtir 1
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

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