Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > SOAP - SSL

Hola,

Estoy desarrollando un cliente en java para enviar mensaje soap a un servicio web con ssl a través de un certificado de componente. El código es el siguiente,

URL url = new URL(HTTPS_URL);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
System.setProperty("javax.net.ssl.keyStore", "certificado.pfx");
System.setProperty("javax.net.ssl.keyStorePassword", password);
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.trustStore", System.getProperty("java.home")+ "\\jre\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
SOAPConnection con = scFactory.createConnection();
SOAPMessage reply = con.call(message, url);

Tengo importado el certificado .cer en el almacén de java. Y me da el siguiente error,
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

¿Qué estoy haciendo mal? Muchas gracias!

junio 12, 2014 | Unregistered Commentermkh

Incluye estas propiedades te chuta.


System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

Un saludo

junio 18, 2014 | Unregistered Commenterfileal_v