Estou iniciando a implementação da nfe, já fiz a assinatura do certificado, criei o webservice, quando vou consumir do serviço de status da a sequinte exceção
HTTP transport error: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
Meu código está assim:
String nfeCabecMsg = “<?xml version=\"1.0\" encoding=\"UTF-8\"?>” +
"<cabecMsg xmlns=“http://www.portalfiscal.inf.br/nfe” " +
“versao=“1.02”>” + “1.07” +
“”;
String nfeDadosMsg = “<?xml version=\"1.0\" encoding=\"UTF-8\"?>” + "<consStatServ " +
" versao=“1.07"” + " xmlns="http://www.portalfiscal.inf.br/nfe">" +
“2” +
“52” +
“STATUS” +
“”;
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new sun.security.pkcs11.SunPKCS11("caminho do .cfg"));
System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
System.setProperty("javax.net.ssl.keyStore", "icp_br");
System.setProperty("javax.net.ssl.keyStoreProvider", "Safesign");
System.setProperty("javax.net.ssl.keyStorePassword", "SENHA_KEYSTORE");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "caminho do .jks");
System.setProperty("javax.net.ssl.trustStorePassword", "SENHA_DO_JKS");
NfeStatusServico_Service service = new NfeStatusServico_Service();
NfeStatusServico serviceStatus = service.getNfeStatusServico();
String retorno = serviceStatus.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg);// O retorno deve ser um XML com o status do serviço