当前位置: 首页 > 知识库问答 >
问题:

通过java使用Web服务方法时sun.security.validator.ValidatorExcture

越俊艾
2023-03-14

我希望通过java将soap web服务与此wsdl一起使用:

https://sadad.shaparak.ir/services/MerchantUtility.asmx?wsdl

但当我运行某些方法时会发生此错误:

访问WSDL失败:https://sadad.shaparak.ir/services/MerchantUtility.asmx?wsdl.失败的原因是:sun.security.validator.ValidatorExc0019: PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderExc0019:无法找到到请求目标的有效认证路径。

我使用下面的代码来做到这一点:

MerchantUtilitySoap port;
MerchantUtility service = new MerchantUtility();
port = service.getMerchantUtilitySoap();

例如,使用此web服务中的此方法:

long timeStamp = Long.parseLong(port.calcTimeStamp());

谁能解决这个问题?我该如何为我的网站修复它?

我也阅读了这些解决方案,但它们不能帮助我解决这个问题:

javax。xml。ws。WebServiceException:无法访问WSDL

解析javax。网ssl。SSLHandshakeException:太阳。安全验证器。ValidatorException:PKIX路径生成失败错误?

"PKIX路径构建失败"和"无法找到到请求目标的有效认证路径"

http://www.java-samples.com/showtutorial.php?tutorialid=210

共有1个答案

元彦君
2023-03-14

这就是我修复异常所做的。首先,从浏览器获取网站的证书(.cer文件)(因为它使用HTTPS)。现在,如果您在windows上,请打开CMD并转到jre/bin文件夹并运行以下命令:

keytool -importcert -file path/to/certificate.cer -keystore keystore.jks -alias "Alias"

-文件:文件的路径。从浏览器中获取的cer文件

-alias:此证书的名称

此命令将证书导入密钥库。jks文件运行后,它会要求输入密码。为密钥库设置密码。jks。现在,在java代码中添加以下行

System.setProperty("javax.net.ssl.trustStore","path/to/keystore.jks");
System.setProperty("javax.net.ssl.trustStorePassword","keystore_pass");

您还可以复制密钥库。jks从jre/bin文件夹到您的项目文件夹,并从那里使用它。我认为有更好的方法,但这是我从其他stackoverflow主题中学到的,解决了我的问题。

 类似资料:
  • 我正在尝试将Apache CXF与Apache Camel集成。骆驼的配置: 现在,为了调用web服务上的特定操作,我使用以下方法: 但是在包含上述配置后,我得到< code > WARN servlet controller:149-在服务器控制台上找不到对http://localhost:8080/cxf service/services/cxfAuth的Observer的请求,并且在浏览器上

  • 本文向大家介绍PHP使用NuSOAP调用Web服务的方法,包括了PHP使用NuSOAP调用Web服务的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用NuSOAP调用Web服务的方法。分享给大家供大家参考。具体如下: Steps: 1. Download nusoap library from internet. 2. Pass parameter list in your

  • 我正在建立一个新的GlassFish服务器4.1.1,上面部署了一个Java的web服务。web服务有一个web方法,它接收JSON作为输入参数,结果也返回一个JSON。为了将Java对象序列化/反序列化到JSON,我使用了Gson库。web方法正在调用另一个web服务,一次运行大约执行2-3分钟。例如,我在循环中调用这个web服务6-10次,因此web方法大约要等待16-30分钟才能返回一个值。

  • 我在我们的项目中使用Camel并请求WebServices,dataFormat是POJO。当我的SOAP消息不包含SOAP标头时,我能够请求,但是当它有标头时,我无法设置它们。我看了看留档,但无法理解,有几个问题。 我想创建如下消息: 如果只有正文,我将能够发送消息,但是有人能给我一个包含标题部分的代码片段吗?数据格式为POJO。

  • 问题内容: 我有一个Java客户端,它使用通过JDK 6的JAX-WS实现编写的SharePoint 2010标准Web服务(sitedata.asmx,Permissions.asmx等)。 到目前为止,使用自定义实现和方法对NTLM进行身份验证。 在只有一台SharePoint服务器的测试环境中运行时,它可以正常工作。我可以看到所有使用WireShark进行的NTLM协商。 但是,如果在具有多

  • 问题内容: 有没有一种简单的方法可以使用Java将数据返回JSON中的Web服务客户端?我对servlet,spring等都很好。 问题答案: 对我来说,最好的Java <-> JSON解析器是XStream(是的,我实际上是在谈论json,而不是xml)。XStream已经处理循环依赖关系,并具有一个简单而强大的api,您可以在其中编写驱动程序,转换器等。 亲切的问候