gpt4 book ai didi

jax-ws - 什么可能导致无法访问的wsdlexception?

转载 作者:行者123 更新时间:2023-12-04 15:04:17 26 4
gpt4 key购买 nike

我正在将一些 Web 服务客户端更新为一些旧的 Java 应用程序以调用axis2 第三方Web 服务。我得到了一个 wsdl 文件,因此我开发了一个包含此服务的客户端的 jar,如以下(我的)帖子中所述:JAX-WS client : what's the correct path to access the local WSDL? .

它适用于某些应用程序,但不适用于抛出 inaccessibleWSDLException 的其他应用程序。在实例化代理类的时候。
下面我发布了我的 jax-ws-catalog 文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
<system systemId="http://localhost/wsdl/SOAService.wsdl" uri="wsdl/SOAService.wsdl"/>
<system systemId="http://schemas.xmlsoap.org/soap/encoding/" uri="wsdl/schemas.xmlsoap.org/soap/encoding.xsd"/>
<system systemId="http://www.w3.org/2005/05/xmlmime" uri="wsdl/www.w3.org/2005/05/xmlmime.xsd"/>
</catalog>

它始终在我的开发环境(netbeans\ecplise 取决于我正在更新的项目)和服务器(tomcat\Jboss 4\jar 与测试类)中工作。

在以下情况下不起作用:
  • 我从命令行或
  • 启动 jar
  • 我将 jar 加载到 livecycle 8.0 进程(在 jboss 4.0 上运行)

  • 在这两种情况下都会出现错误:“InaccessibleWSDLException”,特别是在 livecycle 上,我收到以下错误:
    2010-12-01 12:20:47,420 ERROR [com.adobe.workflow.AWS] stalling action-instance: 9989 with message: com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.

    java.net.ConnectException: Connection refused
    java.net.ConnectException: Connection refused

    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:172)
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254)
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217)
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:174)
    at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
    at javax.xml.ws.Service.<init>(Service.java:56)
    at com.ibm.eci.soaservice.SOAService.<init>(SOAService.java:50)

    这个异常是什么意思?它找不到 wsdl 或它的一部分?它找不到某个库?它无法访问网络(wsdl 包含一些外部 xsd 的导入)?

    最佳答案

    这意味着 livecycle 8.0 没有使用或找不到 jax-ws-catalog.xml,因此 jaxws 运行时试图从客户端 stub 中提到的文字位置加载 WSDL,即从
    http://localhost/wsdl/SOAService.wsdl而不是查看 jax-ws-catalog.xml 中提供的映射并使用应用程序 jar 中的 WSDL。

    线索是

    java.net.ConnectException:连接被拒绝 java.net.ConnectException:连接被拒绝

    这告诉我 jaxws 运行时正在尝试通过 http 访问 WSDL。

    你把你的 jax-ws-catalog.xml 放在哪里?可能是为了 livecycle,它需要放在其他地方,除了 JAR 的 META-INF 目录。

    我认为您需要在 livecycle 论坛上发布此问题。

    对于不从命令行工作,这有点奇怪,您究竟如何从命令行运行它。

    关于jax-ws - 什么可能导致无法访问的wsdlexception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4334062/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com