PKIX path building failed

Pessoal, to passando a nfe pra versão 2.0, mas insiste em dar o seguinte erro:

Sendo que já peguei uma nova cadeia de certificados e importei para o arquivo jks, o qual utilizo para setar nas propriedades do sistema. A versão 1.10 que fiz utilizando jax ws está funcionando perfeitamente, já nesta nova versão causa este erro, esse nova versão fiz utilizando axis2 para gerar os stubs, to tentando rodar um exemplo simples que peguei aqui mesmo no forum para o consumo do webservice de statusservico da sefaz, porém dá o erro descrito acima, o que poderá ser??

segue minha classe teste:

public class StatusServicoClient {

    public static void main(String[] args) throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException, XMLStreamException, Exception {

        String nfeDadosMsg = "<nfeDadosMsg><consStatServ versao=\"2.00\"" +
                             " xmlns=\"http://www.portalfiscal.inf.br/nfe\">" +
                             "<tpAmb>2</tpAmb><cUF>15</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg>";

        System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
        Provider p = new sun.security.pkcs11.SunPKCS11("tokencartao.cfg");
        Security.addProvider(p);

        System.setProperty("sun.security.ssl.allowUnsafeRenegotiation ", "true");

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
        System.setProperty("javax.net.ssl.keyStore", "NONE");
        System.setProperty("javax.net.ssl.keyStorePassword", "*******");
        System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-NFE");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");

        System.setProperty("javax.net.ssl.trustStore", "C:\\Sun\\SDK\\domains\\domain1\\config\\keystore.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

         XMLStreamReader dad = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(nfeDadosMsg));
         NfeStatusServico2Stub.NfeDadosMsg dadosMsg = NfeStatusServico2Stub.NfeDadosMsg.Factory.parse(dad);
         NfeStatusServico2Stub.NfeCabecMsg cabecMsgteste = new NfeStatusServico2Stub.NfeCabecMsg();
         cabecMsgteste.setCUF("15");
         cabecMsgteste.setVersaoDados("2.00");

         NfeStatusServico2Stub.NfeCabecMsgE cabecMsgE = new NfeStatusServico2Stub.NfeCabecMsgE();
         cabecMsgE.setNfeCabecMsg(cabecMsgteste);
         NfeStatusServico2Stub stub = new NfeStatusServico2Stub();

        System.out.println(stub.nfeStatusServicoNF2(dadosMsg, cabecMsgE).getExtraElement());
    }

}

Continuo com o mesmo problema, alguém poderia me ajudar??

Cara… tbm estou com o mesmo problema…

você conseguiu resolver??

Até mais.

Cara consegui fazendo de outra forma.

import java.io.IOException;
import java.security.Provider;
import java.security.Security;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.net.URL;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;


public class StatusServicoClient {

    public static String runWebService(String envelope, String urlAddress) {
        String result = "";

        try {
            MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            SOAPMessage message;

            try {
                message = factory.createMessage(null, new ByteArrayInputStream(envelope.getBytes()));
                SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection();
                URL url = new URL(urlAddress);

                SOAPMessage res = con.call(message, url);

                ByteArrayOutputStream out = new ByteArrayOutputStream();

                ajustaSslCertificadoA3();

                res.writeTo(out);

                result = out.toString();

            } catch (IOException ex) {
                ex.printStackTrace();
            }
        } catch (SOAPException ex) {
            ex.printStackTrace();
        }
        return result;
    }


    public static void ajustaSslCertificadoA3() {
        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");
        Provider p = new sun.security.pkcs11.SunPKCS11("C:\\slnfe\\certificado\\tokencartao.cfg");
        Security.addProvider(p);
        System.setProperty("sun.security.ssl.allowUnsafeRenegotiation ", "true");

        System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
        System.setProperty("javax.net.ssl.keyStore", "NONE");
        System.setProperty("javax.net.ssl.keyStorePassword", senhadopin);
        System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-NFE");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", Arquivokeystore.jks);
    }

    public static void main(String[] args) {

        System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");

        String envelope = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                + "<s:Envelope xmlns:s=\"http://www.w3.org/2003/05/soap-envelope\"><s:Header>"
                + "<nfeCabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">"
                + "<cUF>15</cUF><versaoDados>2.00</versaoDados></nfeCabecMsg></s:Header>"
                + "<s:Body xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"
                + "<nfeDadosMsg xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">"
                + "<consStatServ xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"2.00\">"
                + "<tpAmb>1</tpAmb><cUF>15</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></s:Body></s:Envelope>";


        String url = "https://www.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx";

        String msg = runWebService(envelope, url);

        System.out.println(msg);

    }
}

Cara…

eu fiz um arquivo .jks…

mais não adiantou…

estou achando que o erro é nele…

como você fez o seu??

Segue meu codigo ai…

Será que tem algum erro??

import java.security.Security;
import webservices.NfeCabecMsg;
import webservices.NfeDadosMsg;
import webservices.NfeStatusServico2;
import webservices.NfeStatusServico2Soap12;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author altitdb
 */
public class TesteWebServiceStatus {

    public TesteWebServiceStatus() {

        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", "C:\\certificado.p12");
        System.setProperty("javax.net.ssl.keyStorePassword", "certificado");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "C:\\jksrs.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "123456");
        NfeStatusServico2 service = new NfeStatusServico2();

        try {
            NfeStatusServico2Soap12 nfeStatus = service.getNfeStatusServico2Soap12();
            NfeDadosMsg n = new NfeDadosMsg();
            NfeCabecMsg nc = new NfeCabecMsg();
            nc.setCUF("51");
            nc.setVersaoDados("2.00");
            n.getContent().add(nc);
            System.out.println(nfeStatus.nfeStatusServicoNF2(n));
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new TesteWebServiceStatus();
    }
}