8

我正在将一些 Web 服务客户端更新为一些旧的 Java 应用程序以调用 axis2 第三方 Web 服务。我已经获得了一个 wsdl 文件,因此我开发了一个包含此服务的客户端的 jar,如以下(我的)帖子中所述:JAX-WS 客户端:访问本地 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”,特别是在生命周期中,我收到以下错误:

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 的导入)?

4

2 回答 2

8

这意味着 livecycle 8.0 未使用或未找到 jax-ws-catalog.xml,因此 jaxws 运行时尝试从客户端存根中提到的文字位置加载 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 放在哪里?除了 JAR 的 META-INF 目录之外,可能是为了 livecycle 它需要放在其他地方。

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

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

于 2011-02-10T18:29:31.300 回答
0

似乎它正在寻找证书文件,请查看那是哪个证书。下载该证书,重新启动您的服务器,然后尝试。

问候, Sridhar Goranti

于 2016-02-09T19:40:44.577 回答