【问题标题】:WSDLException : An error occurred trying to resolve schema referenced atWSDLException : 尝试解析在
【发布时间】:2011-01-11 19:14:29
【问题描述】:

我正在尝试在 windows xp 上使用 eclipse Galileo 和轴 2 1.4 从本地 WSDL 文件生成代理类。我的问题是由于 WSDL 中的导入模式而出现错误。让我烦恼的是:

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

我已尝试运行 wsdl2java 以下命令:

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

我得到以下异常:

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)

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

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

提前感谢您的任何提示。

【问题讨论】:

    标签: eclipse wsdl axis2 axis wsdl2java


    【解决方案1】:

    我想我遇到了同样的问题,下面是我使用 java -D 选项解决它的方法

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

    看看对你有没有帮助。问候

    【讨论】:

    • 嗨 praveena,延迟 6 个月,谢谢您的回答
    • 您在代理主机和端口中传递的值是什么?如何使用 maven 命令解决这个问题?
    【解决方案2】:

    此解决方案可能无法正常工作,具体取决于用户的安装。解决方案中没有提到 -Dhttp.nonProxyHosts={list of hosts to exclude} 选项,如果您的运行 web 服务的服务器是本地的并且有对托管在您的环境之外的 xml 文件的引用,或者您的代理是未设置为回答本地请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      相关资源
      最近更新 更多