2012-06-06 128 views
5

我为WCF服务创建了一个轴客户端(客户端由Eclipse生成,使用WSDL作为输入)。忽略Axis客户端上WCF服务的认证认证

客户端在使用HTTP时正常工作。

使用HTTPS时,我发现了以下异常:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径建设失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到要求的目标的有效认证路径

我明白错误,但我不想给它一个证书所在的位置。

我想告诉Axis避免此步骤(接受任何未经检查的证书)。我知道如何做到这一点与HttpsURLConnection(创建一个自定义验证程序,什么都不做),但我不知道如何用轴...(我怎样才能告诉轴使用我的自定义验证程序,或者更好,我怎么能告诉它忽略这一步)。

有人可以帮助我吗?

感谢,

玛坦

+0

您是否意识到您正在通过这样做引入安全漏洞?不清楚你的意思是“*我了解错误,但我不想给它一个证书所在的地方。”*。 – Bruno

回答

19

我有同样的问题,并使用固定它:

AxisProperties.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory"); 

如果这行不通,看看here

+0

感谢发布此信息的好友。 :) –

+0

最后一些代码与使用轴1.4生成的客户端一起工作 –