Tecnologia - WebServices de Terceiros - Sistema não interpreta adequadamente retorno de WebServices de terceiros onde dentro de um Array existem campos com a mesma nomenclatura.
Incidente
No processo de comunicação com WebServices de terceiros (seja um sistema externo ou outro sistema da Senior), o Gestão Empresarial | ERP não interpreta adequadamente retorno de WebServices de terceiros onde dentro de um Array existem campos com a mesma nomenclatura.
Exemplo de um cenário prático da ocorrência:
1. Foi cadastrado um WebService de Terceiros no Gestão Empresarial | ERP que faça comunicação com o WebService de Download do eDocs;
2. Ao ser efetuada a chamada do método BaixarXML para pegar o XML de uma NF-e, o eDocs retorna como saída do WebService um array de strings (array chamado de Xmls) onde dentro desse array existem dois ou mais campos que tenham o mesmo nome (no caso exemplificado o nome dos campos é string).
3. Ao executar esse WebService de Terceiros pelo Console do sistema ou através de uma regra LSP, o Gestão Empresarial | ERP não consegue distinguir adequadamente o retorno do WebService, disponibilizando as informações presentes em cada um dos campos.
Causa
Essa situação ocorre por conta de uma limitação do sistema Gestão Empresarial | ERP na leitura de retorno de um WebService que possua uma lista de Arrays, onde nessa mesma lista haja dois campos com mesmo nome.
A limitação ocorre pois não possuímos um modo de armazenar em memória a informação contida na lista de strings que recebemos em Xmls, para que seja possível identificar as informações de modo separado e conseguir trabalhar com as informações.
Solução
Para esse cenário, por se tratar de uma limitação atual do sistema, siga os passos abaixo:
1. Caso você deseje indicar uma implementação do sistema para atender esse cenário, acesse o Fórum de Produtos da Senior e sugira a melhoria nesse ponto da rotina. Clique aqui para acessar o Fórum de Produtos;
2. Como alternativa para essa situação, você poderá construir uma aplicação personalizada (fora do Gestão Empresarial | ERP) que faça o intermédio da comunicação entre o Gestão Empresarial | ERP e o sistema externo integrado;
2.1. A aplicação que você construir poderá ter uma interface de entrada que receba a chamada através do Gestão Empresarial | ERP e faça a chamada do WebService do sistema externo. O retorno do processamento do sistema externo ficará no mesmo padrão atual, e caberá a aplicação intermediária fazer a mudança na estrutura do XML (por exemplo, mudando o retorno para uma Array com nomes de campos diferentes para cada XML). O Gestão Empresarial | ERP receberá o retorno processado por essa aplicação intermediária dentro de um padrão que poderá ser tratado em regras LSP.
Observação
Você poderá solicitar uma Proposta Comercial para seu Executivo de Vendas para que essa aplicação intermediária seja criada pela Fábrica de Software da Senior.