通过安全连接在PAT端口上使用Web服务

时间:2019-07-01 17:04:41

标签: web-services iis soap wsdl soa

在连接到Web服务时,我在生产中遇到问题。

下面是错误消息

错误:由于以下原因而无法成功调用端点URI“ https://example.com/WebserviceLibrary/test.asmx”:javax.xml.soap.SOAPException:javax.xml.soap.SOAPException:消息发送失败:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径

提交作业时SOA工具失败。 Web服务器托管在IIS的安全端口下

有关SOA的信息:

SOA在运行时创建WSDL客户端,并使用从运行时检索到的WSDL中的服务的绑定端口端点URL。

SOA使用从注册表中发现服务,然后读取检索到的WSDL并在检索到的WSDL中调用服务的概念。

我看到SOA在运行时创建的WSDL客户端具有位置URI“ https://example.com/WebserviceLibrary/test.asmx

它们具有外部PAT端口。服务器有一个PAT端口,例如11560。具有IP和PAT端口11560的URL运行正常,并且能够连接URL。他们可以通过curl命令或任何非SOA Java代码对其进行测试。

他们可以连接到该URI “ https://example.com:11560/WebserviceLibrary/test.asmx

在我们的环境中进行内部测试时不会发生此问题,因为不涉及外部PAT端口。

我怀疑PAT端口可能是导致此问题的原因,但不确定如何发生。

虽然错误消息显示为某种证书问题,但它们可以通过https上的IP和端口进行连接和测试。

我认为解决此问题的一种方法是在IIS的PAT端口下托管Web服务器。你们有其他替代解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径

据我所知,当尝试使用JSSE打开与主机的SSL连接时。这通常意味着服务器使用的是测试证书(可能是使用keytool生成的),而不是系统证书库中的证书。因此,您可以尝试编辑JAVA_HOME / jre / lib / security / cacerts文件或运行具有-Djavax.net.ssl.trustStore参数的应用程序以添加证书。