Boa Tarde!
Galera estou tendo problemas no envio do XML da NFE para prefeitura de São Paulo, fiz um teste pelo Soapui e está funcionado, porém ao tentar montar o mesmo pelo Java, não está dando certo, segue a string de erro:
05/10/2020 14:56:52 com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
SEVERE: SAAJ0009: Message send failed
Segue trecho do código:
private static void AcessarWsComAutenticacao(String urlAddress, String envelope) {
try
{
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
/*
* dados do certificado do cliente
*/
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.keyStore", "C:/XXXXX.pfx");
System.setProperty("javax.net.ssl.keyStorePassword", "XXXXX");
//System.out.println("Depois cerificado XXXXX.pfx");
/*
* dados do certificado do servidor
*/
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "C:/cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "XXXXX");
/* Url do WebService */
URL url = new URL(urlAddress);
/* tipo de mensagem: SOAP */
MimeHeaders header = new MimeHeaders();
header.addHeader("Content-Type", "application/soap+xml");
/* monta a mensagem SOAP */
MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SOAPMessage message = factory.createMessage(header, new ByteArrayInputStream(envelope.getBytes()) );
/* instancia uma conexao SOAP */
SOAPConnection conSoap = SOAPConnectionFactory.newInstance().createConnection();
System.out.println("url :" + url);
/* Envia a mensagem SOAP ao WebService */
SOAPMessage resWs = conSoap.call(message, url);
/* Mostra a mensagem de retorno */
ByteArrayOutputStream out = new ByteArrayOutputStream();
resWs.writeTo(out);
System.out.println("out Mensagem :\n" + out.toString());
}catch(Exception ex) {
System.out.println("Erro: " + ex );
}
}
Se alguém puder me ajudar, agradeço.
Obrigado!