【发布时间】:2017-07-29 23:42:19
【问题描述】:
我正在尝试使用 SOAP UI 访问第三方 Web 服务并遇到以下异常:
错误:请求中的异常:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
我没有来自第三方网络服务的 cacert 或密钥库,但我有签名。通过使用签名,我可以通过我的应用程序访问第三方网络服务。
如何在 SOAP UI 中配置此签名?
【问题讨论】:
我正在尝试使用 SOAP UI 访问第三方 Web 服务并遇到以下异常:
错误:请求中的异常:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
我没有来自第三方网络服务的 cacert 或密钥库,但我有签名。通过使用签名,我可以通过我的应用程序访问第三方网络服务。
如何在 SOAP UI 中配置此签名?
【问题讨论】:
这是一个旧线程,但我的解决方案可能会对某人有所帮助。
在 SoapUI 5.3.0 版中,我通过删除行解决了这个问题:
if exist "%SOAPUI_HOME%..\jre\bin" goto SET_BUNDLED_JAVA
来自soapui.bat,然后使用soapui.bat 执行程序。嵌入 SoapUI 的 Java 似乎与我的 JRE 1.8.0_131 版本不同。
【讨论】:
将以下参数添加到 C:\Program Files\SmartBear\SoapUI-5.2.1\bin\SoapUI-5.2.1.vmoptions 对我有用。
-Dsoapui.https.protocols=TLSv1.2,SSLv3
【讨论】:
快速修复:升级到SoapUI 5.4.0 版。这将解决 SSL 握手问题。
【讨论】:
对我来说,只有 ssl 更改不起作用。
检查你的
java版本
它可能与 SOAP-UI jre 不同
在他的情况下到smartbear\SoapUI-5.2.1\bin目录打开soapui.bat
使用兼容的 java 版本更新,例如:
REM set JAVA=%SOAPUI_HOME%..\jre\bin\java
set JAVA=D:\Program Files\java\jdk1.8.0_162\bin\java
用rem 关闭第一行并更新java 目录。
运行
soapui.bat
【讨论】:
在我将下面的行放入文件 SoapUI-5.2.1.vmoptions 之后。它对我来说很好。
文件路径:SoapUI-5.2.1\bin\SoapUI-5.2.1.vmoptions
添加以下行:
-Dsoapui.https.protocols=TLSv1.2,SSLv3
【讨论】:
问题是你计算机上安装的Java和soap使用的Java之间的兼容性(对我来说是SOAPUI-5.5.0)
SOAP UI 不能很好地支持上一个安装的 Java 版本。
修改soapui.bat中的文件(一般安装在这里)
C:\Program Files (x86)\SmartBear\SoapUI-5.4.0\bin\soapui.bat
你可以看到有两行:
如果存在 "%SOAPUI_HOME%..\jre\bin" 转到 SET_BUNDLED_JAVA
如果存在 "%JAVA_HOME%" 转到 SET_SYSTEM_JAVA
第一行 SoapUi 将 jre 目录设置为自己的文件夹中的目录 第二行 SoapUi 的意思是,如果您安装了 java,请改用这个。 所以你只需要像这样评论第二行:
如果存在 "%SOAPUI_HOME%..\jre\bin" 转到 SET_BUNDLED_JAVA
rem 如果存在 "%JAVA_HOME%" 转到 SET_SYSTEM_JAVA
对我来说,它适用于所有其他类型的操作(允许 TLS1.1 等)不适用的情况。
【讨论】: