Olá boa noite!
Estou fazendo um teste para verificar o Status da Nfe,
ao rodar o program me gera o seguite erro
Fiz a instalacao dos Jar, mas mesmo assim continua o erro.
Será q fiz certo ?
Abaixo msg de erro e codig fonte e imagem da config. em anexo.
a quem responder desde já meus agradecimentos.
ANT.CARLOS/SP
MENSAGEM DE ERRO
log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAXUtils).
log4j:WARN Please initialize the log4j system properly.
org.apache.axis2.AxisFault: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
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.nfestatusservico2.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:196)
at br.com.javac.nfe.NFeConsultaStatusServico.main(NFeConsultaStatusServico.java:87)
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at javax.net.ssl.DefaultSSLSocketFactory.throwException(SSLSocketFactory.java:179)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
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:560)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
… 9 more
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at java.security.Provider$Service.newInstance(Provider.java:1245)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)
at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)
at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:112)
… 18 more
Caused by: java.security.PrivilegedActionException: java.io.FileNotFoundException: C:\JavaC\NF-e\certificado.pfx (O sistema não pode encontrar o caminho especificado)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(DefaultSSLContextImpl.java:120)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.(DefaultSSLContextImpl.java:40)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at java.security.Provider$Service.newInstance(Provider.java:1221)
… 28 more
Caused by: java.io.FileNotFoundException: C:\JavaC\NF-e\certificado.pfx (O sistema não pode encontrar o caminho especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at java.io.FileInputStream.(FileInputStream.java:66)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl$2.run(DefaultSSLContextImpl.java:123)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl$2.run(DefaultSSLContextImpl.java:121)
… 38 more
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
ABAIXO O FONTE DP PROGRAMA
package br.com.javac.nfe;
import br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub;
import java.net.URL;
import java.security.Security;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.AXIOMUtil;
/**
*
-
@author JavaC - Java Community
*/
public class NFeConsultaStatusServico {public static void main(String[] args) {
try {
/**
* 1) codigoDoEstado = Código do Estado conforme tabela IBGE.
*
* 2) url = Endereço do WebService para cada Estado.
* Ver relação dos endereços em:
* Para Homologação: http://hom.nfe.fazenda.gov.br/PORTAL/WebServices.aspx
* Para Produção: http://www.nfe.fazenda.gov.br/portal/WebServices.aspx
*
* 3) caminhoDoCertificadoDoCliente = Caminho do Certificado do Cliente (A1).
*
* 4) senhaDoCertificadoDoCliente = Senha do Certificado A1 do Cliente.
*
* 5) arquivoCacertsGeradoParaCadaEstado = Arquivo com os Certificados necessarios para
* acessar o WebService. Pode ser gerado com a Classe NFeBuildCacerts.
/
String codigoDoEstado = “35”; /…SAO PAULO */
URL url = new URL(“https://homologacao.nfe.sefazvirtual.sp.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx”);
String caminhoDoCertificadoDoCliente = “C:/JavaC/NF-e/certificado.pfx”;
String senhaDoCertificadoDoCliente = “12345”;
String arquivoCacertsGeradoParaCadaEstado = “C:/JavaC/NF-e/nfe-cacerts”;/** * Informações do Certificado Digital. */ 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.clearProperty("javax.net.ssl.keyStore"); System.clearProperty("javax.net.ssl.keyStorePassword"); System.clearProperty("javax.net.ssl.trustStore"); System.setProperty("javax.net.ssl.keyStore", caminhoDoCertificadoDoCliente); System.setProperty("javax.net.ssl.keyStorePassword", senhaDoCertificadoDoCliente); System.setProperty("javax.net.ssl.trustStoreType", "JKS"); System.setProperty("javax.net.ssl.trustStore", arquivoCacertsGeradoParaCadaEstado); /** * Xml de Consulta. */ StringBuilder xml = new StringBuilder(); xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>") .append("<consStatServ versao=\"2.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">") .append("<tpAmb>2</tpAmb>") .append("<cUF>") .append(codigoDoEstado) .append("</cUF>") .append("<xServ>STATUS</xServ>") .append("</consStatServ>"); OMElement ome = AXIOMUtil.stringToOM(xml.toString()); NfeStatusServico2Stub.NfeDadosMsg dadosMsg = new NfeStatusServico2Stub.NfeDadosMsg(); dadosMsg.setExtraElement(ome); NfeStatusServico2Stub.NfeCabecMsg nfeCabecMsg = new NfeStatusServico2Stub.NfeCabecMsg(); /** * Código do Estado. */ nfeCabecMsg.setCUF(codigoDoEstado); /** * Versao do XML */ nfeCabecMsg.setVersaoDados("2.00"); NfeStatusServico2Stub.NfeCabecMsgE nfeCabecMsgE = new NfeStatusServico2Stub.NfeCabecMsgE(); nfeCabecMsgE.setNfeCabecMsg(nfeCabecMsg); NfeStatusServico2Stub stub = new NfeStatusServico2Stub(url.toString()); NfeStatusServico2Stub.NfeStatusServicoNF2Result result = stub.nfeStatusServicoNF2(dadosMsg, nfeCabecMsgE); System.out.println(result.getExtraElement().toString()); } catch (Exception e) { e.printStackTrace(); }
}
}