Buenas!
Estou fazendo alguns testes preliminares para implementação de NFE usando Axis2 e quando executo aparece o seguinte erro:
org.apache.axis2.AxisFault: Unconnected sockets not implemented
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:203)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:438)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at br.inf.portalfiscal.www.nfe.wsdl.nferecepcao2.NfeRecepcao2Stub.nfeRecepcaoLote2(NfeRecepcao2Stub.java:196)
at testeNfe.TesteNfe.main(TesteNfe.java:43)
Caused by: java.net.SocketException: Unconnected sockets not implemented
at javax.net.SocketFactory.createSocket(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:116)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:557)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
... 9 more
Exception in thread "main" java.lang.RuntimeException
at testeNfe.TesteNfe.main(TesteNfe.java:49)
Alguém tem uma dica do que pode ser isso? Procurei e não achei nenhum tópico com este erro. Segue abaixo os códigos.
public static void main(String[] args) {
String certificado = "C:\\Certificado NFE_2010";
String keyStore = "C:\\nfe.keystore";
String senhaCert = "*********";
String nfeDadosMensagem = "<nfeDadosMsg><nfeDadosMsg></nfeDadosMsg></nfeDadosMsg>";
String http = "https://homologacao.nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx";
new ConfiguracaoSSL().configuracaoSSL(certificado, keyStore, senhaCert);
try {
NfeCabecMsg cabecalhoMsg = new NfeCabecMsg();
cabecalhoMsg.setCUF("35");
cabecalhoMsg.setVersaoDados("2.00");
NfeRecepcao2Stub.NfeCabecMsgE cabE = new NfeRecepcao2Stub.NfeCabecMsgE();
cabE.setNfeCabecMsg(cabecalhoMsg);
ByteArrayInputStream dados = new ByteArrayInputStream(nfeDadosMensagem.getBytes());
XMLInputFactory xmlInput = XMLInputFactory.newInstance();
xmlInput.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE);
XMLStreamReader xmlReader = xmlInput.createXMLStreamReader(dados);
NfeDadosMsg dadosEnvio = NfeDadosMsg.Factory.parse(xmlReader);
// System.out.println(dadosEnvio.getExtraElement().toString());
NfeRecepcaoLote2Result resultado = new NfeRecepcao2Stub(http).nfeRecepcaoLote2(dadosEnvio, cabE);
System.out.println(resultado.getExtraElement());
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
}
public void configuracaoSSL(String certificado, String keyStore, String senha) {
System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.keyStore", certificado);
System.setProperty("javax.net.ssl.keyStorePassword", senha);
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", keyStore);
}