背景
最近在与第三方对接的过程中,有一个WebService接口,需要用SoapUI进行调试,发现加载指定的 WSDL 路径出现了错误。
问题描述
具体出现的错误如下:
Error loading [https://xxx.cn/web/ws/test?wsdl]: java.lang.Exception: Failed to load url;
解决过程
排查阶段
1.检查 WSDL 文件是否能正常打开:
在浏览器中直接访问 https://xxx.cn/web/ws/test?wsdl,确认是否能正常打开。能打开说明wsdl文件正常。
2.网络连接问题:
排查客户端与服务器之间的网络连接是否存在问题,比如网络超时、防火墙阻止等。
3.SSL 证书问题:
URL 使用 HTTPS,但服务器的 SSL 证书无效、过期或未被信任,可能导致加载失败。
因为这里我只是调试,所以选择忽略 SSL 验证
解决方案
在 SoapUI 中,可以通过设置 JVM 参数来忽略 SSL 证书验证。
编辑 SoapUI 的启动配置文件soapui.vmoptions (一般在安装目录bin文件夹下),添加以下行:
-Dsoapui.https.protocols=TLSv1.2
-Dcom.sun.net.ssl.checkRevocation=false
-Djavax.net.ssl.trustStoreType=JKS
总结
针对 SSL 证书问题,在 SoapUI 中可以通过设置特定的 JVM 参数来忽略 SSL 证书验证。