unable to find valid certification path to requested target
Me salía este error al intentar
agregar un WSDL en soapui a través de la opción:
File - New SOAP Project
Error loading [https:// wsdl ]:
org.apache.xmlbeans.XmlException: javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
El
error se debe a que el servicio está sobre el protocolo
https y al requerir un certificado, éste se tiene que agregar al
archivo cacerts del JRE de SoapUI.
SoapUI viene con su propio JRE por lo que se tiene que utilizar la herramienta
keytool que se encuentra dentro del
JRE de SoapUI.
Solución.
Los pasos para poder consultar el
servicio https desde SoapUI son los siguientes:
1. Obtener el certificado del servidor.
Abrir la dirección del servicio desde un navegador y seleccionar el candado para ver el certificado.
Seleccionar la opción View certificates. La manera de descargarlo varía un poco de acuerdo a cada navegador.
Seleccionar la opción Copy to File... para guardar el certificado. Pueden ponerlo donde sea pero yo lo puse en la ruta donde lo ocuparé después: C:\Program Files\SmartBear\SoapUI-4.6.4\jre\bin
2. Abrir una ventana de comandos en modo administrador (Click derecho y ejecutar como administrador). Es importante como administrador ya que me topé con otro problema al no hacerlo.
3. Ir hacia el directorio jre/bin dentro de la carpeta de instalación de SoapUI.
cd C:\Program Files\SmartBear\SoapUI-4.6.4\jre\bin
4. Una vez ahí, ejecutar el comando para importar el certificado descargado anteriormente. En mi caso el certificado lo guardé ahí mismo por eso no le pongo ruta:
keytool -import -alias somealias -file a0319d127.cer -keystore ..\lib\security\cacerts
5. Preguntará por un password para el keystore. El password default es "changeit"
Enter keystore password: changeit
6. Preguntará si confías en el certificado: Introduce Yes o Y. Imagen abajo
7. Después de esto hay que reiniciar SoapUI e intentar nuevamente. Debes poder crear un nuevo proyecto con el servicio sobre https.
Espero les sirva.