是什么原因导致无法进入wsdlexception? [英] What might cause a inaccessiblewsdlexception?

查看:482
本文介绍了是什么原因导致无法进入wsdlexception?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将一些Web服务客户端更新到一些旧的Java应用程序中,以调用axis2第三方Web服务.我已经获得了wsdl文件,因此我开发了一个jar,其中包含此服务的客户端,如以下(我的)帖子所述:

I'm updating some web service clients into some old java applications to call an axis2 third party web service. I've been provided with a wsdl file, so I've developed a jar containing the client to this service as described in the following (mine) post: JAX-WS client : what's the correct path to access the local WSDL?.

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

It works on some application but not in others where it throws an inaccessibleWSDLException at the moment of instantiating the proxy class. Below I've posted my jax-ws-catalog file:

<?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和一个测试类)中运行.

It always work inside my development environments (netbeans\ecplise depending on the project I'm updating ) and servers (tomcat \Jboss 4 \ jar with a test class).

在以下情况下不起作用:

It doesn't work when:

  • 我从命令行启动jar或
  • 我将jar加载到一个livecycle 8.0进程中(在jboss 4.0上运行)

在两种情况下都给出错误:"InaccessibleWSDLException",尤其是在生命周期中,我得到以下错误:

In both cases gives the error : "InaccessibleWSDLException", in particular on livecycle I get the following error :

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

What does this exception mean? It can't find the wsdl or a piece of it? It can't find some library? It can't access the web (the wsdl contains some import of external xsd )?

推荐答案

这意味着livecycle 8.0未使用或未找到jax-ws-catalog.xml,因此jaxws运行时正在尝试从WSDL中加载WSDL.客户存根中提到的原义位置,即来自 http://localhost/wsdl/SOAService.wsdl 而不是查看jax-ws-中提供的映射catalog.xml并使用应用程序jar中的WSDL.

That means that livecycle 8.0 is not using or not finding jax-ws-catalog.xml, so the jaxws run-time is trying to load the WSDL from the literal location mentioned in the client stub, i.e. from http://localhost/wsdl/SOAService.wsdl instead of looking at the mapping provided in jax-ws-catalog.xml and using the WSDL from your application jar.

线索是

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

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

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

which tells me that jaxws runtime is trying to access the WSDL over http.

您将jax-ws-catalog.xml放在哪里?可能是针对生命周期的,它需要放在JAR的META-INF目录之外的其他地方.

Where do you put your jax-ws-catalog.xml ? may be for livecycle it needs to be put somewhere else, besides the JAR's META-INF directory.

我认为您需要在Livecycle论坛上发布此问题.

I think you need to post this question on livecycle forums .

对于无法通过命令行工作,这有点奇怪,您如何从命令行运行它.

For not working from the command line, that is a bit strange, how exactly do you run it from the command line.

这篇关于是什么原因导致无法进入wsdlexception?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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