Web services 在Axis2运行时使用java从HTTPS wsdl生成webservice客户端

Web services 在Axis2运行时使用java从HTTPS wsdl生成webservice客户端,web-services,axis2,java-7,wsdl2java,wsimport,Web Services,Axis2,Java 7,Wsdl2java,Wsimport,我正在尝试使用WSDL()生成(SOAP)Web服务客户机类,WSDL()在url中包含HTTPS 粘贴以下内容: 线索1:从命令提示符wsimport-dc:\Users\A550857\Desktop\Jay -扩展名-keep-pcom.gatewayedi.ws-xaadditionalHeaders粘贴在下面 命令提示符下的响应: 正在分析WSDL [错误]sun.security.validator.ValidatorException:PKIX路径生成失败:su n.securit

我正在尝试使用WSDL()生成(SOAP)Web服务客户机类,WSDL()在url中包含HTTPS

粘贴以下内容:

线索1:从命令提示符wsimport-dc:\Users\A550857\Desktop\Jay -扩展名-keep-pcom.gatewayedi.ws-xaadditionalHeaders粘贴在下面

命令提示符下的响应:

正在分析WSDL

[错误]sun.security.validator.ValidatorException:PKIX路径生成失败:su n.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径

无法读取WSDL文档:粘贴下面的WSDL\u,因为1)找不到该文档/2) 文件无法读取;3) 文档的根元素不是

[ERROR]failed.noservice=在提供的wsdl中找不到wsdl:service:

需要提供至少一个具有至少一个服务定义的WSDL

未能分析WSDL

轨迹2:从命令提示符

{C:\Users\A550857\Desktop\Jay\Softs\axis2-1.6.2\bin>wsdl2java.bat-uri粘贴在下面

命令提示符下的响应:

使用AXIS2\u HOME:C:\Users\A550857\Desktop\Jay\Softs\AXIS2-1.6.2使用JAVA\u HOME:C:\Program Files(x86)\JAVA\jdk1.7.0\u 03 log4j:警告找不到记录器(org.apache.AXIS2.i18n.Project ResourceBundle)的附加程序。log4j:警告请正确初始化log4j系统。线程“main”中出现异常org.apache.axis2.wsdl.codegen.CodeGenerationException:解析wsdl时出错 位于org.apache.axis2.wsdl.codegen.codenerationengine(codenerationengine.java:181) 位于org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 在org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)上,由于以下原因导致:javax.net.ssl.SSLHandshakeException:sun.security.validator.validator异常:PKIX路径生成失败:sun.security.provider.certpath.SunCertPath BuilderException:找不到请求目标的有效证书路径 位于sun.security.ssl.Alerts.getSSLException(Alerts.java:192) 位于sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1868) 位于sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276) 位于sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270) 位于sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1337) 在sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.jav a:154)中 位于sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) 位于sun.security.ssl.Handshaker.process_记录(Handshaker.java:804) 位于sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:998) 位于sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294) 位于sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1321) 位于sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1305) 位于sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523) 位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) 位于sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296) 位于java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468) 位于sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Htt psURLConnectionImpl.java:338) 位于org.apache.axis2.wsdl.codegen.codenerationengine(codenerationengine.java:99) …另外2个原因:sun.security.validator.validator异常:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 位于sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) 位于sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.jav a:292) 位于sun.security.validator.validator.validate(validator.java:260) 在sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)上 位于sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) 位于sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126) 位于sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1319) …另外15个原因:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 位于sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196) 位于java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268) 位于sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) …还有21个}

我正在使用的环境:Axis2-1.6.2、Java7、WSDL:Paste\u WSDL\u

我对此提出建议。我能够在浏览器中查看具有适当内容的WSDL。

您有两个选项:

1) 将服务器证书导入jdk的信任库 (样本:)。您将获得异常,因为您的JDK不信任服务器证书

2) 将wsdl下载到本地驱动器,包括引用的xsd文件(如果存在),并从https页面向本地wsdl而不是wsdl运行wsimport


我会使用第二种方法,因为它更简单。

任何建议,Pl help me fasti按照步骤1添加了证书,但仍然收到一个错误
java.security.cert.CertificateException:没有找到与XXXXX.co.ke匹配的主题替代DNS名称。
第二步的问题是,生成的java代码包含下载的check.wsdl的文件url,而不是网站url。我通过的是
XXXXX.co.ke
而不是
www.XXXX.co.ke