Ir ao conteúdo
  • Cadastre-se

cleberbvieira

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

posts postados por cleberbvieira

  1. Olá Amigos.

    Preciso de uma ajuda de vocês que são especialistas em Java, preciso dar manutenção em um código que faz a transmissão do XML do eSocial, mas não sou especialista em Java e estou meio perdido.
    O erro ocorre somente no ambiente do cliente, no nosso ambiente de desenvolvimento não ocorre o erro.

    A versão do java é a mesma tanto no cliente como no nosso ambinte de testes.
    java version "1.7.0_79"
    Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

     

    O erro que está ocorrendo é o seguinte :

     

    Dec 11, 2017 4:35:29 PM EnvioXml TransmiteLote

    SEVERE: null

    org.apache.axis2.AxisFault: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

            at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)

            at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:78)

            at org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:84)

            at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)

            at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)

            at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)

            at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)

            at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)

            at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)

            at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:621)

            at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)

            at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)

            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404)

            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)

            at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)

            at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)

            at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)

            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

            at ServicoEnviarLoteEventosStub.enviarLoteEventos(ServicoEnviarLoteEventosStub.java:188)

            at EnvioXml.TransmiteLote(EnvioXml.java:126)

            at Main.main(Main.java:258)

    Caused by: javax.xml.stream.XMLStreamException: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

            at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.close(Unknown Source)

            at org.apache.axiom.util.stax.wrapper.XMLStreamWriterWrapper.close(XMLStreamWriterWrapper.java:46)

            at org.apache.axiom.om.impl.MTOMXMLStreamWriter.close(MTOMXMLStreamWriter.java:188)

            at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:197)

            at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:74)

            ... 19 more

    Caused by: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

            at sun.security.ssl.SSLSocketImpl.checkEOF(Unknown Source)

            at sun.security.ssl.SSLSocketImpl.checkWrite(Unknown Source)

            at sun.security.ssl.AppOutputStream.write(Unknown Source)

            at java.io.BufferedOutputStream.flushBuffer(Unknown Source)

            at java.io.BufferedOutputStream.flush(Unknown Source)

            at java.io.FilterOutputStream.flush(Unknown Source)

            at org.apache.commons.httpclient.ChunkedOutputStream.flush(ChunkedOutputStream.java:191)

            at com.sun.xml.internal.stream.writers.UTF8OutputStreamWriter.flush(Unknown Source)

            ... 24 more

    Caused by: 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.writeRecord(Unknown Source)

            at sun.security.ssl.AppOutputStream.write(Unknown Source)

            at java.io.BufferedOutputStream.flushBuffer(Unknown Source)

            at java.io.BufferedOutputStream.write(Unknown Source)

            at org.apache.commons.httpclient.WireLogOutputStream.write(WireLogOutputStream.java:68)

            at org.apache.commons.httpclient.ChunkedOutputStream.flushCache(ChunkedOutputStream.java:100)

            at org.apache.commons.httpclient.ChunkedOutputStream.write(ChunkedOutputStream.java:162)

            at com.sun.xml.internal.stream.writers.UTF8OutputStreamWriter.write(Unknown Source)

            at com.sun.xml.internal.stream.writers.UTF8OutputStreamWriter.write(Unknown Source)

            at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeEndElement(Unknown Source)

            at org.apache.axiom.util.stax.wrapper.XMLStreamWriterWrapper.writeEndElement(XMLStreamWriterWrapper.java:133)

            at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeEndElement(MTOMXMLStreamWriter.java:171)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeEndpart(OMSerializerUtil.java:58)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:875)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:125)

            at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:113)

            at ServicoEnviarLoteEventosStub$LoteEventos_type0.serialize(ServicoEnviarLoteEventosStub.java:1428)

            at ServicoEnviarLoteEventosStub$LoteEventos_type0.serialize(ServicoEnviarLoteEventosStub.java:1390)

            at ServicoEnviarLoteEventosStub$EnviarLoteEventos.serialize(ServicoEnviarLoteEventosStub.java:560)

            at ServicoEnviarLoteEventosStub$EnviarLoteEventos.serialize(ServicoEnviarLoteEventosStub.java:521)

            at org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:90)

            at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:695)

            at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:563)

            at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:874)

            at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:283)

            at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:245)

            at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:193)

            ... 20 more

    Caused by: java.io.EOFException: SSL peer shut down incorrectly

            at sun.security.ssl.InputRecord.read(Unknown Source)

            ... 77 more

     

    O código está desta forma:

     

    public class EnvioXml {

     

        private static final int SSL_PORT = 443;

        String dados = "";

        String retorno = "";

     

        public String TransmiteLote(String loteXML,String certificadotransmissor, String senhacertificadotransmissor, String URLenvio, String arquivoCacerts) {

            try {

     

                System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");

                           

                dados = loteXML;

                URL url = new URL(URLenvio);

                String caminhoDoCertificadoDoCliente = certificadotransmissor;

                String senhaDoCertificado = senhacertificadotransmissor;

     

                InputStream entrada = new FileInputStream(caminhoDoCertificadoDoCliente);

                KeyStore ks = KeyStore.getInstance("pkcs12");

                try {

                    ks.load(entrada, senhaDoCertificado.toCharArray());

                } catch (IOException e) {

                    throw new Exception(

                            "Senha do Certificado Digital esta incorreta ou Certificado inválido.");

                }

     

                String alias = "";

                Enumeration<String> aliasesEnum = ks.aliases();

                while (aliasesEnum.hasMoreElements()) {

                    alias = (String) aliasesEnum.nextElement();

                    if (ks.isKeyEntry(alias)) {

                        break;

                    }

                }

                X509Certificate certificate = (X509Certificate) ks.getCertificate(alias);

                PrivateKey privateKey = (PrivateKey) ks.getKey(alias, senhaDoCertificado.toCharArray());

                SocketFactoryDinamico socketFactoryDinamico = new SocketFactoryDinamico(certificate, privateKey);

                socketFactoryDinamico.setFileCacerts(arquivoCacerts);

     

                Protocol protocol = new Protocol("https", socketFactoryDinamico, SSL_PORT);

                Protocol.registerProtocol("https", protocol);

         

                OMElement ome = AXIOMUtil.stringToOM(dados);

     

                ServicoEnviarLoteEventosStub.LoteEventos_type0 dadosMsgType0 = new ServicoEnviarLoteEventosStub.LoteEventos_type0();

                dadosMsgType0.setExtraElement(ome);

     

                ServicoEnviarLoteEventosStub.EnviarLoteEventos distEnvioEsocial = new ServicoEnviarLoteEventosStub.EnviarLoteEventos();

                distEnvioEsocial.setLoteEventos(dadosMsgType0);

     

                ServicoEnviarLoteEventosStub stub = new ServicoEnviarLoteEventosStub(url.toString());

                ServicoEnviarLoteEventosStub.EnviarLoteEventosResponse result = stub.enviarLoteEventos(distEnvioEsocial);

     

                retorno = result.getEnviarLoteEventosResult().getExtraElement().toString();

     

            } catch (Exception ex) {

                Logger.getLogger(EnvioXml.class.getName()).log(Level.SEVERE, null, ex);

            }

     

    return retorno;    }

    }

     

    Se alguém já passou por esse problema ou tiver alguma dica, será bem vinda.

     

    Desde já agradeço qualquer ajuda.

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!