我需要使用https协议向我的web服务发送请求。使用SOAP UI,它工作得很好,也为https请求提供响应,但是,如果我发送https请求,它提供以下异常javax.xml.ws.WebServiceException:未能访问WSDL:https://abc:8443/xyz/FileTransferService?WSDL。它失败的原因是:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:184)
at ##com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:166)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:131)
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:267)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1497)
如果要使用https,只需先下载wsdl,并使生成的客户端类中的wsdlLocation和url指向该文件。
或者像这样生成客户端
URL url = new URL("https://......?wsdl");
QName qname = new QName("NameSpace of the Service", "ServiceName");
Service service = Service.create(url, qname);
ServiceClass port= service.getPort(ServiceClass.class);
那么您就可以开始使用端口了。
哦,我忘了一件事。您必须在java密钥库中添加信任密钥。下面的网站展示了这样做的方法。
http://java.globinch.com/enterprise-java/security/pkix-path-building-failed-validation-sun-security-validatorexception/
我有一个包含证书、私钥和信任链的.pem文件,以及使用openssl pkcs12-export从中生成的.p12文件: < code > OpenSSL pkcs12-export-out file . p12-in file . PEM-inkey file . PEM-passin pass:password-passout pass:password 我的PEM文件结构: 我正在使用此cu
本服务条款(以下简称“本协议”)由北京百度网讯科技有限公司(以下简称“百度”)与您(以下简称“您”或“用户”)订立,用于规范您对百度统计(以下简称“本服务”)的使用。只要您点击 “确定”按钮、完成注册程序或开通、使用本服务,即代表您已理解并同意本协议,特别是以黑体字标示出的关于百度统计及您重大权益的条款均以知晓、理解并接受,同意将其作为确定双方权利义务的依据。如果您不同意本协议,请您立即停止使用本
京东小程序开放平台开发者服务协议 【请认真阅读并理解以下内容,其中以加粗方式显著标识的文字,请着重阅读、慎重考虑】 前言 1、本协议由拟在京东小程序开放平台(以下或简称“京东小程序平台”或“小程序平台”)开发京东小程序(以下或简称“小程序”)的京东小程序开发者(以下简称“开发者”,“乙方”或“您”)与京东小程序开放平台运营方(以下或简称“京东”或“甲方”)共同缔结,具有合同效力。 2、本协议由协议
1.1. Rokid 开发者社区服务协议 1.1.1. 一、定义 1.2. 二、协议构成 1.3. 三、特别提示 1.3.1. 四、甲方服务内容 1.3.2. 五、开发者承诺和服务使用规范 1.3.3. 六、数据及隐私 1.3.4. 七、服务费用及开发者收费 1.3.5. 八、违约责任 1.3.6. 九、协议的解除和转让 1.3.7. 十、服务终止后的处理 1.3.8. 十一、责任限制和免责 1.
为了营造规范、有序、安全的开发者社区环境,并利用先进的互联网技术给用户带来便利或更好的体验,芋头科技(杭州)有限公司(下文简称“甲方”)与您(以下简称“开发者”或“乙方”)就开发者社区的使用等相关事项,在杭州市余杭区签订本协议。 特别提示: 开发者通过网络页面点击确认或以其他方式选择接受本协议或使用开发者社区的服务,即表示开发者同意并接受本协议条款,请开发者仔细阅读本协议的全部内容(特别是以粗体标
为了营造规范、有序、安全的开发者社区环境,并利用先进的互联网技术给用户带来便利或更好的体验,芋头科技(杭州)有限公司(下文简称“甲方”)与您(以下简称“开发者”或“乙方”)就开发者社区的使用等相关事项,在杭州市余杭区签订本协议。 特别提示: 开发者通过网络页面点击确认或以其他方式选择接受本协议或使用开发者社区的服务,即表示开发者同意并接受本协议条款,请开发者仔细阅读本协议的全部内容(特别是以粗体标