我正在尝试使用使用Axis2构建的web服务,因此我遵循了这个例子来创建客户端代码。
我有端点,我可以通过浏览器访问它。但是,尝试使用以下方法生成客户端代码:
WSDL2Java.bat -uri <<endpoint>> -o client引发以下异常:
线程“主”org.apache.axis2.wsdl.codegen.CodeGenerationException:错误解析WSDL at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerationEngine.java:181) at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)引起的异常: java.net.ConnectException:连接超时:连接在java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connectcom.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:570) at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141) at sun.net.NetworkClient.doConnect(NetworkClient.java:163) at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)在sun.net.www.http.HttpClient.openServer(HttpClient.java:525) at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:272) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318)在org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerationEngine.java:99) .还有两个
造成这一错误的原因是什么?
发布于 2014-04-21 17:38:05
如果您可以从浏览器访问WSDL,而不能从命令行中的工具访问WSDL,那么您的浏览器可能使用HTTP代理来连接它,而wsdl2java则直接访问地址。
尝试设置一些使用代理的JVM参数,如Java网络和代理中所述,如果失败,则始终可以使用浏览器下载WSDL,并使用本地下载的文件运行wsdl2java。
https://stackoverflow.com/questions/23201440
复制相似问题