WSDLException:尝试解析引用的模式时出错 [英] WSDLException : An error occurred trying to resolve schema referenced at

查看:2532
本文介绍了WSDLException:尝试解析引用的模式时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从本地的WSDL文件中生成一个代理类,其中包括eclipse Galileo和x2上的axis2 1.4。我的问题是,由于WSDL中导入的模式,我收到错误。这个麻烦的是:

 < xsd:import namespace =http://www.w3.org/2005 / 05 / xmlmimeschemaLocation =http://www.w3.org/2005/05/xmlmime/> 

我尝试运行wsdl2java以下命令:

  wsdl2java.bat -uri SOAService.wsdl -o D:\temp p test -d xmlbeans -a -s -ns2p -uw 

我收到以下异常:

 线程main中的异常org.apache.axis2.wsdl.codegen.CodeGenerationException 
:在org.apache.axis2.wsdl.codegen.CodeGenerationEngine中解析WSDL
时出错。< initG(&
ionEngine.java:156)
在org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
在org.apache.axis2.wsdl.WSDL2Java.main( WSDL2Java.java:24)
导致:javax.wsdl.WSDLException:WSDLException(at / wsdl:definitions / wsdl:ty
pes / xsd:schema):faultCode = OTHER_ERROR:尝试相对于'file:/ D:/ Prog
rammi / axis2-1.4 / bin / SOAService在http://www.w3.org/2005/05/xmlmime中引用的sche
ma .wsdl':java.net.ConnectException :连接tim
ed out:connect
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source )
at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm。 wsdl.xml.WSDLReaderImpl.readWSDL(未知源)
在com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)
在com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)
在com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)
在com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(未知来源)
在org.apache。 axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(
CodeGenerationEngine.java:288)
在org.apache.axis2.wsdl.codegen.CodeGenerationEngine。< init>(CodeGenerat
ionEngine.java :111)
... 2更多
造成的:java.net.C onnectException:连接超时:连接
在java.net.PlainSocketImpl.socketConnect(本机方法)
java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
在java.net .PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
在java.net.Socket.connect(Socket.java:520)
在java.net.Socket.connect(Socket.java:470)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http。 HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient。< init>(HttpClient.java:231)
at sun.net.www.http.HttpClient.New(HttpClient.java:304)
at sun.net.www.http.HttpClient.New(HttpClient .java:321)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC
on nection.java:813)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne
ction.java:765)
at sun.net.www.protocol.http .httpURLConnection.connect(HttpURLConnection
.java:690)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:934)
at java.net.URL.openStream(URL.java:1007)
在com.ibm.wsdl.util.StringUtils.getContentAsInputStream(未知来源)

我怀疑是由于系统代理不允许将xsd检索到wsdl2java工具。事实上,我可以从浏览器下载文件,没有问题。



有一个选项可以指定一个代理到wsdl2java或有人解决了这个问题?
目前我已经下载了XSD,将其添加到项目中,并将WSDL更改为包含相对文件(而不是远程文件),但我宁愿避免这种情况,因为该文件是

解决方案

我认为我有同样的问题,下面是我如何使用java -D 选项

  java -Dhttp.proxySet = true -Dhttp.proxyHost = {value} -Dhttp.proxyPort = {value} org.apache.axis.wsdl.WSDL2Java {wsdlURL} 

看看它是否有助于您。关心


I'm trying to generate a proxy class from a local WSDL file with eclipse Galileo and axis 2 1.4 on windows xp . My problem is that i get an error due to an imported schema inside the WSDL . The line tha troubles me is :

<xsd:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/>

I've tried to run the wsdl2java following command:

wsdl2java.bat  -uri SOAService.wsdl -o D:\temp p test -d xmlbeans -a -s -ns2p -uw

and I get the following exception:

Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException
: Error parsing WSDL
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
ionEngine.java:156)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:ty
pes/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve sche
ma referenced at 'http://www.w3.org/2005/05/xmlmime', relative to 'file:/D:/Prog
rammi/axis2-1.4/bin/SOAService.wsdl'.: java.net.ConnectException: Connection tim
ed out: connect
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(
CodeGenerationEngine.java:288)
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
ionEngine.java:111)
        ... 2 more
Caused by: java.net.ConnectException: Connection timed out: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.Socket.connect(Socket.java:520)
        at java.net.Socket.connect(Socket.java:470)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
        at sun.net.www.http.HttpClient.New(HttpClient.java:304)
        at sun.net.www.http.HttpClient.New(HttpClient.java:321)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC
onnection.java:813)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne
ction.java:765)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection
.java:690)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:934)
        at java.net.URL.openStream(URL.java:1007)
        at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source)

I suspect it's due to the system proxy which doesn't let retrieve the xsd to the wsdl2java tool. In fact i can download the file from the browser without problems.

There's an option to specify a proxy to wsdl2java or someone has resolved this issue ? For the moment i've downloaded the XSD, added it to the project and changed the WSDL to include the relative file (instead of the remote one) , but i'd prefer to avoid this , because the file is a third party service WSDL.

Thank you in advance for any hint.

解决方案

I think I had the same problem and below is how I solved it using java -D option

java -Dhttp.proxySet=true -Dhttp.proxyHost={value} -Dhttp.proxyPort={value} org.apache.axis.wsdl.WSDL2Java {wsdlURL}

See if it helps you. Regards

这篇关于WSDLException:尝试解析引用的模式时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆