Base de conhecimento

Falha na entrega de XML para WebService - O que fazer?

3 minutos de leitura
Copiar

A partir da versão 171 do Java 8, o algoritmo de segurança 3DES_EDE_CBC que é utilizado por alguns Web Services foi desabilitado nas configurações padrões do Java.

No arquivo java.security localizado na pasta de instalação (C:\Program Files\Java\jre1.8.0_191\lib\security) na linha 647 e 648 estão os algoritmos desativados:

No Motor Oobj a seguinte falha será registrada ao tentar realizar a comunicação com o WS:

1601 14:13:20,716 [Compartilhamento-8] DEBUG actory$monitoramento - -;null;padrao;0;facadeNaoEspecificado
1601 14:13:20,741 [Compartilhamento-8] INFO  tingSSLSocketFactory - iniciando handshake com socket timeout=60000
1601 14:13:20,782 [Compartilhamento-8] ERROR EntregadorXmlWalmart - Falha na chamada ao webservice!
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
 faultActor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at br.com.oobj.facade.socketfatory.AbstractRoundRobinLimitingSSLSocketFactory.create(AbstractRoundRobinLimitingSSLSocketFactory.java:501)
    at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at br.com.pontsystems.www.Cls_403_nfe_xmlSoapStub.fu_upld(Cls_403_nfe_xmlSoapStub.java:164)
    at br.com.oobj.me.compartilhamento.impl.EntregadorXmlWalmart.enviarAutorizacaoParaWebservice(EntregadorXmlWalmart.java:210)
    at br.com.oobj.me.compartilhamento.impl.EntregadorXmlWalmart.entregarAutorizacaoImpl(EntregadorXmlWalmart.java:185)
    at br.com.oobj.me.compartilhamento.AbstractEntregadorDFe.entregarArquivoAutorizacao(AbstractEntregadorDFe.java:170)
    at br.com.oobj.me.compartilhamento.AbstractEntregadorDFe.entregar(AbstractEntregadorDFe.java:98)
    at br.com.oobj.me.compartilhamento.ProcessadorCompartilhamento.novaMensagem(ProcessadorCompartilhamento.java:95)
    at br.com.oobj.util.fila.ConsumidorNotificanteOneMessage.processarComCommitSincrono(ConsumidorNotificanteOneMessage.java:356)
    at br.com.oobj.util.fila.ConsumidorNotificanteOneMessage.execute(ConsumidorNotificanteOneMessage.java:176)
    at br.com.oobj.util.fila.ConsumidorNotificanteOneMessage.run(ConsumidorNotificanteOneMessage.java:137)
    at br.com.oobj.me.compartilhamento.ProcessadorCompartilhamento.run(ProcessadorCompartilhamento.java:159)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.read(Unknown Source)
    ... 28 more

Solução/Procedimento

Para resolver, basta remover/comentar essa informação da linha 648 e reiniciar o Motor de Serviços da Oobj:

Em seguida basta reenviar uma Entrega WS no Monitor Oobj 

Não encontrou o que procurava?