Retorno manual via MCDebug
Para efetuar um retorno manual via MCDebug:
- Acesse o modo MCDebug;
- Selecione o web service desejado para fazer o retorno;
- Preencha os parâmetros de entrada, de acordo com o processo que está sendo executado;
- Execute a solicitação de retorno;
Importante
Esse parâmetro deve ser utilizado apenas para fins de testes e depuração de web services. Não deve ser utilizado para operações do dia a dia dos sistemas, pois não é otimizado para esse fim e sua usabilidade pode ser complexa para usuários não especialistas.
Não é recomendável seu uso sem o conhecimento dos dados de entrada do web service e dos processos que serão executados. Fazer uso deste recurso sem o conhecimento adequado pode ocasionar em perda de dados na base do sistema e inconsistências de ambiente.
O primeiro passo para começar o processo de testes de retorno manual via modo MCDebug é localizar o arquivo executável do Gestão Empresarial | ERP. Este arquivo possui o nome de sapiens.exe e fica armazenado na pasta de instalação do Gestão Empresarial | ERP no servidor. Exemplo: C:\Senior\Sapiens.
Após localizar o arquivo, crie um atalho e nas propriedades deste atalho, informe o parâmetro -mcdebug ao final do caminho definido no campo Destino.
Para informações detalhadas sobre o processo de utilização do MCDebug, consulte o tópico Teste de funcionamento de web service via depuração no Manual do usuário do ERP.
Após efetuar a alteração, clique no botão OK.
Execute o atalho e será aberta a tela inicial do Gestão Empresarial | ERP solicitando as credenciais de um usuário. Informe as credenciais do usuário utilizado para retorno do status de documentos eletrônicos para o Gestão Empresarial | ERP. Para que os testes sejam efetuados com sucesso, utilize o mesmo usuário parametrizado no eDocs em Configuração > Empresa > guia Integração > campo Usuário integração ERP e campo Senha integração ERP.
Observação
Eventualmente poderão ser customizadas as informações de retorno por Filial. Se este for o caso, as informações de usuário e senha para integração estarão disponíveis na tela Configuração > Filial guia Integração do Monitor.
Após autenticação do usuário, é aberta uma instância do Gestão Empresarial | ERP no modo MCDebug (modo para depuração de web services). Para confirmar se o acesso foi realizado corretamente neste modo, verifique na barra de títulos se esta informação está sendo mostrada.
Acesse o caminho Diversos > Multicamada no menu disponível.
No ERP em modo MCDebug, selecione a opção Diversos > Multicamada do Menu disponível para exibir a tela para escolha do serviço a ser utilizado para testes. Na lista deverão ser procurados os serviços que iniciam com Integrações - Eletrônicos – Documentos.
Na lista existem cinco serviços que iniciam com “Integrações - Eletrônicos – Documentos”. Cada serviço equivale à uma porta do web service de integração entre o eDocs e o ERP (o nome do web service é com.senior.g5.co.int.eletronicos.documentos). Para mais informações sobre as portas utilizadas pelo eDocs para retorno ao ERP e quais opções equivalem a cada porta do ERP, consulte a documentação do sistema.
Faça uma busca pelo web service com.senior.g5.co.int.eletronicos.documentos. Serão apresentadas todas as portas que ele possui.
Para selecionar a versão equivalente da porta em uso no eDocs, utilize o botão ao lado do campo de busca:
com.senior.g5.co.int.eletronicos.documentos@ImportarRetornos: equivale a opção “ERP Senior Web Service” da parametrização de retorno de status de documentos eletrônicos da filial no eDocs. Utilize a mesma versão em utilização no eDocs para realizar o teste.
com.senior.g5.co.int.eletronicos.documentos@Receber: porta do utilizada exclusivamente para que o eDocs envie para o Gestão Empresarial | ERP os XMLs dos documentos eletrônicos recebidos (de entrada). Caso seja necessário um teste de envio de um documento eletrônico manualmente, esta á porta a ser utilizada.
Para mais informações sobre as portas utilizadas para retorno ao ERP e quais opções equivalem a cada porta do ERP, consulte a documentação do sistema.
Para exibição dos procedimentos a serem adotados para efetuar um teste de retorno manual de status de documento, utilizaremos como base a execução de um retorno de situação 4 - Rejeitada para uma NF-e, utilizando o web service com.senior.g5.co.int.eletronicos.documentos com a porta ImportarRetornos na versão 3.
Após selecioada a porta ImportarRetornos_3 do serviço com.senior.g5.co.int.eletronicos.documentos (conforme indicado nos tópicos acima), é exibida a tela abaixo:
- Botões para manipulação de arquivo XML:
- Carregar XML: possibilita carregar um arquivo XML com os parâmetros a serem utilizados para a execução da requisição ao web service. Esta opção deve ser acionada quando for necessário carregar um arquivo XML salvo através da opção Salvar entrada / XML.
- Parâmetros XML:possibilita visualizar todos os parâmetros digitados na grade da aba Entrada de Dados da Nota Fiscal no formato de arquivo XML.
- Salvar entrada / XML:possibilita salvar um arquivo XML com todas as informações digitadas na grade da guia Entrada de Dados da Nota Fiscal. Esta opção é útil para, por exemplo, quando necessita-se efetuar vários testes com os mesmos parâmetros.
- Salvar resposta / XML:possibilita salvar um arquivo XML com todas as informações retornadas pelo Web Service da requisição solicitada. Basicamente, é o resultado da solicitação efetuada ao Web Service (registrado na aba “Saída de dados da nota fiscal”).
- Modo de execução:para que os testes sejam efetuados levando em conta a utilização do Middleware Senior (que é o que o eDocs utiliza para efetuar conexão com o ERP), deve ser sempre selecionada a opção Síncrono para o modo de execução. A execução em modo Local não utilizará o Middleware, sendo assim, para efeito de testes, não deve ser utilizada.
- Botão Executar:para enviar a requisição ao web service com os parâmetros digitados na grade da guia Entrada de Dados da Nota Fiscal,clique em Executar.
- Grade da Entrada de Dados da Nota Fiscal: é a grade onde devem ser digitados os parâmetros que serão utilizados para enviar a requisição para o web service.
Após a execução da requisição o campo Tipo Retorno deve ser preenchido pelo sistema como 1 (que indica processado com sucesso), e o campo Mensagem Retorno deve ser preenchido pelo sistema como Processamento efetuado com sucesso. Isso indicará que a requisição foi recebida e processada pelo Middleware Senior com sucesso.
É possível verificar os dados retornados pelo web service da requisição enviada ao Middleware Senior. Estas informações são exibidas na guia Saída de Dados da Nota Fiscal, sendo assim, depois de clicar no botão Executar para encaminhar uma requisição, de o sistema ter retornado a mensagem Processamento efetuado com sucesso, deve ser acessada a guia Saída de Dados da Nota Fiscal para verificar o retorno, conforme imagem abaixo:
No exemplo utilizado (de retorno de 4-Rejeitada para uma NF-e), o web service retornou como resultado OK (campo Result), evidenciando que o sistema aceitou a solicitação encaminhada e efetuou a alteração do status da NF-e para 4-Rejeitada no ERP (para efetuar conferência da alteração do status, verifique as informações presentes no tópico Informações sobre status eletrônicos de documentos fiscaisdo Ajuda do Gestão Empresarial | ERP.
Importante
O campo Result sempre indica o resultado da requisição enviada. Se for retornado OK, indica que a requisição foi atendida com sucesso. Se ela não for atendida com sucesso, neste campo será retornada a mensagem de erro pelo qual a requisição não foi atendida.
Para exibição dos procedimentos a serem adotados para efetuar um teste de envio manual de documento eletrônico, utilizaremos como base a execução de um retorno de uma NF-e autorizada previamente pela SEFAZ.
Neste caso, para dar continuidade no teste, tendo como base a tela Escolha o serviço, selecione a porta Receber do web service com.senior.g5.co.int.eletronicos.documentos e clique no botão OK. (Caso seja utilizada versão 5.8.7 do ERP, o nome a ser escolhido na lista é Integrações - Eletrônicos - Documentos – Receber).
Após a seleção do web service, será exibida a tela abaixo:
Os botões e opções presentes na tela são basicamente os mesmos presentes na tela indicada no tópico Testes de retorno de status documentos eletrônicos via MCDebug.
Na grade Itens a processar insera os parâmetros a serem utilizados para a requisição do web service.
No caso do web service de integração de documentos eletrônicos, o parâmetro SeqItn pode ser preenchido com qualquer valor inteiro, e no parâmetro XmlItn deve ser colado o conteúdo completo do arquivo XML do documento eletrônico.
Importante
Para copiar o conteúdo do arquivo XML, abra-o com o Bloco de Notas (a opção Quebra automática de linhas do menu Formatar deve estar desativada) e copie todo o conteúdo do arquivo.
Após preencher o campo SeqItn e colar o conteúdo do arquivo XML no campo XmlItn, clique no botão Executar. Com isso, a requisição será encaminhada para o sistema.
Observação
Pode ser encaminhada uma requisição para o web service com vários XMLs, apenas definindo SeqItn diferentes. O retorno será encaminhado pelo web service para cada SeqItn.
O retorno informará o resultado para cada SeqItn. O resultado OK indica que o ERP aceitou a integração do documento de entrada. Caso haja algum problema na integração do documento, a mensagem de erro será informada no campo Retorno para cada SeqItn. A grade Retornos pode ser visualizada, conforme imagem acima.
Para os documentos que tiveram como retorno do web service OK, a consulta do documento de entrada pode ser realizada, neste momento, na tela Via Recebimento de Documento Eletrônico (Suprimentos > Gestão de Recebimento > Notas Fiscais de Entrada > Via Recebimento de Documento Eletrônico), pois ele já esta registrado nesta tela. Lembrando que, nesta tela, por padrão o ERP efetua filtro pelo CNPJ do destinatário do documento eletrônico (em caso de NF-e) ou do responsável pelo pagamento do frete (no caso de CT-e).
Em casos onde se necessita saber que tipo de informação deve ser informado em cada parâmetro do web service e quais são os parâmetros obrigatórios para, por exemplo, efetuar um retorno de status de documento eletrônico manualmente, é possível consultar o Manual do usuário do Gestão Empresarial | ERP para acessar a listagem de web services.
O web services de integração entre o eDocs e o Gestão Empresarial | ERP, é o com.senior.g5.co.int.eletronicos.documentos.
Observação
A listagem dos web services citada acima sempre terá informações sobre a porta mais atual disponibilizada para cada web service.
Quando o GlassFish do ambiente está inativo:
- Log: ERROR Senior.SapiensNfe.Processos.Service.Nfe.RetornoNfeErp - Erro ao retornar situação da nota ao ERP. System.Net.WebException: Impossível conectar-se ao servidor remoto ---> System.Net.Sockets.SocketException: Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente <Servidor>:<porta>
- Conexão via MCDebug: Erro ao chamar serviço: -<código_interno>. URL: http://<servidor>:<porta>/g5-mc-services/SyncService. Possível causa: Servidor inativo ou inacessível ou URL inválida.
Quando o serviço SeniorMiddleware, Serviço de Informação da Instalação ou Gerenciador do Middleware estão parados ou inacessíveis:
- Log e MCDebug: ERROR Senior.SapiensNfe.Processos.Service.Sistema. IntegradorSaida
- Erro ao enviar retorno para o ERP, CNPJ: <CNPJ_Filial>, mensagem
retorno: Não foi possível executar o serviço solicitado.
- Detalhes:Ação: InternalSyncService -> Process request
- Sistema: sapiens
- Usuário: <usuário_integração>
- Chave: com_senior_g5_co_int_eletronicos_documentos@<porta_webservice>
- Agrupador: null
- Lote: 0
- Possui parâmetros de entrada
- Erro: com.senior.mdw.exception.ConnectException: Não foi possível conectar ao servidor <nome_servidor> na porta <porta>: erro ao alocar aplicação. Causa: Erro de comunicação com servidor.
- Log e MCDebug: ERROR
Senior.SapiensNfe.Processos.Service.Sistema. IntegradorSaida - Erro ao enviar
retorno para o ERP, CNPJ: <CNPJ_filial>, mensagem retorno: Não foi
possível executar o serviço solicitado.
- Detalhes:Ação: InternalSyncService -> Process request
- Sistema: sapiens
- Usuário: <usuário_integração>
- Chave: com_senior_g5_co_int_eletronicos_documentos@<porta_webservice>
- Agrupador: null
- Lote: 0
- Possui parâmetros de entrada
- Erro: com.senior.mdw.exception.ConnectException: Não foi possível conectar ao servidor pcbnu00006 na porta 1299: erro ao conectar socket.
- Causa: Não foi possível conectar ao servidor <nome_servidor> na porta <porta>: conexão recusada na porta informada.
- Causa: Connection refused: connect
É muito comum serem gerados erros na integração entre o eDocs e o ERP indicando o motivo 404: Not Found (HTTP 404: Não Encontrado).
Essa mensagem de erro ocorre, geralmente, quando o eDocs conseguiu se comunicar com o GlassFish (parte integrante do conjunto de componentes do Middleware Senior), no entanto, o recurso solicitado não está disponível. Neste caso, o recurso solicitado é o serviço com.senior.g5.co.int.eletronicos.documentos.
As situações mais comuns para que este problema ocorra são:
- Após a atualização do ERP não foi efetuado o deploy (publicação) dos web services no GlassFish corretamente. Com isso, quando o eDocs tenta enviar uma requisição para o Middleware Senior, o GlassFish indica que o web service com.senior.g5.co.int.eletronicos.documentos não foi encontrado (justificando, então, a mensagem 404 Não Encontrado).
- O campo ERP usa padrão W3C nas URLs da tela Configuração > Empresa > guia Integração do eDocs, está configurado em desacordo com o padrão utilizado pelo ERP. É necessário verificar qual o padrão utilizado nos web services, W3C ou não. Para tal, deve-se verificar o endereço do WSDL do Web Service. conforme abaixo:
- http://servidor:8080/g5-senior-services/sapiens_Synccom_senior_g5_co_int_eletronicos_documentos - W3C
- http://servidor:8080/g5-senior-services/sapiens/Synccom_senior_g5_co_int_eletronicos_documentos - Não W3C
2016-05-30 11:51:25,470 [3] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.Net.WebException: Falha na solicitação com status HTTP 404: Not Found.
em System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
em System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
em Senior.SapiensNfe.DataAccess.SeniorErp.Documentos.g5seniorservices.Receber(String user, String password, Int32 encryption, documentosReceberIn parameters)
em Senior.SapiensNfe.Processos.Service.Sistema.IntegradorSaida.EnviarRecebimentoRetornoWebServiceSenior(documentosReceberIn documentoEntrada)
em Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoNfe310(Int32 quantidade)