ERP – eDocs – Client found response content type of 'text/html'; charset=iso-8859-1', but expected 'text/xml'
Incidente
No processo de envio de um documento eletrônicos para SEFAZ/Prefeitura, a operação não é concluída com sucesso, onde podemos encontrar as seguintes informações:
- Logs do eDocs: Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml';
- Em português, a mensagem é apresentada: O c liente encontrou o tipo de conteúdo de resposta de 'text/html; charset=UTF-8', mas esperava 'text/xml'.
- Tela de Eventos de NF-e:
Observação
Este cenário pode ocorrer com vários documentos eletrônicos e a mensagem ser apresentada de forma similar como, por exemplo, mudando o charset citado na mensagem.
Exemplo de mensagem que ocorre para Prefeitura de Londrina-PR no envio de NFS-e:
Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'.
The request failed with the error message: <br /> <b>Fatal error</b>: Cannot use string offset as an array in <b>/dados/sigiss/ws/v1_03/helpers/WSHelper.php</b> on line <b>618</b><br />
Exemplo de mensagem em comunicação com Prefeitura de São Simão-SP
Client found response content type of 'text/html; charset=UTF-8', but expected 'text/xml'.
Causa
Essa situação ocorre quando:
- Problemas com o WebService da SEFAZ/Prefeitura: pode ter ocorrido alguma alteração no WebService que está fazendo com que o retorno que tenha que ser dado como um XML, está sendo retornado em outro formato (HTML ou TXT, por exemplo);
- URL de comunicação ao WebService definida incorretamente: se na tela Configurações / Consultas URL for definida uma URL diferente da URL para comunicação ao WebService, esse tipo de problema poderá ocorrer. Exemplo: a URL definida pelo usuário é uma URL que leva a uma página HTML;
- Quando está sendo enviado para a Prefeitura um tipo de informação incoerente em uma tag, de acordo com o tipo de dados que a Prefeitura aceita conforme o seu respectivo manual de integração. Exemplo: Inscrição Municipal. A tag <tomador_im> é do tipo int, ou seja, nesta tag deve-se enviar apenas números. Neste caso, se for enviado algum caractere que não seja número, a situação ocorrerá.
Solução
Infelizmente a Prefeitura/SEFAZ não possui um tratamento adequado em seu sistema, onde o mesmo devolva uma rejeição indicando qual o campo que apresenta inconsistência.
Desta forma, para encontrar o campo que está com a informação incorreta, é necessário:
1. Quando for NFS-e, colete o arquivo de log XML de envio do XML para a Prefeitura. O artigo ERP – eDocs Log XML – Como coletar os XMLs trafegados entre eDocs e SEFAZ/Prefeituras (Logs XML) poderá ser consulta para verificar os procedimentos;
1.2. Acesse o portal da Prefeitura ou do respectivo Órgão ao qual o documento se refere e baixe o manual de integração via webservice;
1.2.1. Compare o XML capturado com o manual de integração, identificando os campos que estariam em desacordo com o manual;
1.3. Ao identificar o campo que está em desacordo com o manual, acesse o Gestão Empresarial | ERP e ajuste a informação necessária;
1.4. Caso o RPS fique travado com status de Recebido ERP no eDocs (pois a Prefeitura não retorna uma rejeição padrão para o sistema), efetue a alteração do status do arquivo via banco de dados;
1.4.1. Acesse o banco de dados do eDocs e efetue o seguinte procedimento para ajustar o status do RPS:
SELECT
*
FROM
N140NFS
WHERE
NUMNFV = XX AND
SEQFIL = CNPJ_FILIAL
Salve a informação que retornar no campo SEQNFS para utilizar no update abaixo:
UPDATE
N140NFS
SET
SITNEL = 14
WHERE
SEQNFS = XX AND
SEQFIL = CNPJ_FILIAL
Após ser efetuada a alteração no status do RPS, o mesmo será apresentado como Rejeitado no sistema eDocs. Em seguida haverá o retorno deste status para o Gestão Empresarial | ERP. Com isso, a informação incorreta poderá ser ajustada no Gestão Empresarial | ERP e um novo XML poderá ser gerado.
1.5. Acesse a tela F140CAN_RFNF - Mercado / Gestão de Faturamento e Outras Saídas / Notas Fiscais de Saída / Emissão e cancelamento / Nota fiscal e gere o arquivo XML novamente;
1.6. No eDocs, acesse a tela Configurações / Consultas URL, informe o tipo de ambiente, documento, e Estado/Cidade ao qual se referente o documento em questão, e valide se a URL do webservice está de acordo com o especificado no manual de integração;
2. Quando for NF-e, colete o arquivo de log XML de envio do XML para a SEFAZ. O artigo ERP – eDocs Log XML – Como coletar os XMLs trafegados entre eDocs e SEFAZ/Prefeituras (Logs XML) poderá ser consulta para verificar os procedimentos;
2.1. Acesse o portal da SEFAZ RS para validar o XML (clique aqui para acessar o mesmo);
2.1.1. Se retornar alguma crítica/consistência, acesse o Gestão Empresarial | ERP e ajuste a informação necessária;
2.2. Acesse a tela F140CAN_RFNF - Mercado / Gestão de Faturamento e Outras Saídas / Notas Fiscais de Saída / Emissão e cancelamento / Nota fiscal e gere o arquivo XML novamente;
Observação
- No caso de utilização do Gestão Empresarial | ERP, é possível utilizar regras e identificadores de regras para criar validações em cadastros e na geração do arquivo XML da NFS-e, para que o sistema consista eventuais informações em formatos exigidos pela prefeitura de Londrina / PR;
- A situação pode ocorrer em métodos diferentes. Exemplo: a emissão de NFS-está ocorrendo normalmente, mas o cancelamento está gerando inconsistência;
- Se o eDocs estiver configurado para utilizar o parâmetro 'Parar o envio de documentos em caso de erros' em Configurações / Filiais, aba NFS-e, sub-aba Geral, os documentos serão alterados para o status de Falha;
- É também comum a ocorrência da situação em ambientes distintos. Por exemplo: nos testes de Emissão/Cancelamento no ambiente de homologação a situação não acontece, mas no ambiente de produção o cenário estar ocorrendo;
- Orienta-se a coleta do XML trafegado entre eDocs e WebService Prefeitura/SEFAZ para que seja acionado a SEFAZ/Prefeitura para fazer a validação da situação, caso seja identificado que não houve alterações nos WebServices e a URL definida no eDocs esteja adequada;
- Testes podem ser executados via SoapUI diretamente ao WebService da SEFAZ/Prefeitura para validar a indisponibilidade do WebService, conforme descrito no artigo ERP - eDocs - Como realizar testes de comunicação com a SEFAZ através do SoapUI.