Estou tentando consultar o status dos serviços no ws 2.00 do RS…
Depois de muito sacrificio consegui chegar neste erro…
Tentei 1000 formas já… revirei o GUJ inteiro já e nada…
Quando eu rodo o projeto sai isto no console:
init:
Deleting: C:\Users\altitdb\Documents\NetBeansProjects\WebServices\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\altitdb\Documents\NetBeansProjects\WebServices\build\built-jar.properties
wsimport-init:
wsimport-client-nfeStatusServico2:
files are up to date
wsimport-client-generate:
Deleting: C:\Users\altitdb\Documents\NetBeansProjects\WebServices\null382853633
Compiling 1 source file to C:\Users\altitdb\Documents\NetBeansProjects\WebServices\build\classes
compile-single:
run-single:
---[HTTP request - https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeStatusServico/nfeStatusServico2.asmx]---
Content-type: application/soap+xml;charset="utf-8";action="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2/nfeStatusServicoNF2"
Accept: application/soap+xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
<?xml version="1.0" ?><S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"><S:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"><nfeCabecMsg><cUF>43</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></nfeDadosMsg></S:Body></S:Envelope>--------------------
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:121)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:137)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy30.nfeStatusServicoNF2(Unknown Source)
at classes.TesteStatusNfe.<init>(TesteStatusNfe.java:53)
at classes.TesteStatusNfe.main(TesteStatusNfe.java:63)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1649)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1206)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1019)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(HttpsURLConnectionOldImpl.java:200)
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:109)
... 15 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1185)
... 27 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
... 33 more
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
Segue meu código!
package classes;
import java.security.Security;
import java.util.Arrays;
import wsdl.NfeCabecMsg;
import wsdl.NfeDadosMsg;
import wsdl.NfeStatusServico2;
import wsdl.NfeStatusServico2Soap12;
import wsdl.NfeStatusServicoNF2Result;
import wsdl.ObjectFactory;
/**
*
* @author altitdb
*/
public class TesteStatusNfe {
public TesteStatusNfe() {
System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump", "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("sun.security.ssl.allowUnsafeRenegotiation ", "true");
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.keyStore", "C:\\certificado.pfx");
System.setProperty("javax.net.ssl.keyStorePassword", "Milenio1");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "C:\\arquivo.jks");
System.setProperty("javax.net.ssl.trustPassword", "123456");
try {
NfeStatusServico2 service = new NfeStatusServico2();
NfeStatusServico2Soap12 port = service.getNfeStatusServico2Soap12();
// TODO initialize WS operation arguments here
NfeDadosMsg nfeDadosMsg = new NfeDadosMsg();
// Dados do cab
NfeCabecMsg nfeCabecMsg = new NfeCabecMsg();
nfeCabecMsg.setCUF("43");
nfeCabecMsg.setVersaoDados("2.00");
// add na nfeDadosMsg
nfeDadosMsg.getContent().add(new ObjectFactory().createNfeCabecMsg(nfeCabecMsg));
// TODO process result here
NfeStatusServicoNF2Result result = port.nfeStatusServicoNF2(nfeDadosMsg);
System.out.println("Result = " + result);
System.out.println("Resposta = " + Arrays.toString(result.getContent().toArray()));
} catch (Throwable e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new TesteStatusNfe();
}
}
Alguém poderia me dar uma ajuda??
Obrigado desde já.
xD~~