2010-01-19 60 views
3

我正在运行jboss-4.2.1.GA来生成WS请求。RPC /编码的Jboss问题

我在JWSDP-2.0/JAXRPC的帮助下创建了WS客户端。我已将客户端部署到Jboss,现在我正在尝试发送请求。

当我尝试初始化客户端服务:javax.xml.rpc.Service service = servicefactory.createService(new URL(wsdlURL), serviceQN)时,Jboss开始抱怨。

该Jboss的生成的错误是:

ERROR [JBossXSErrorHandler] JBossWS_targetnamespace1.com7796329154971783225.xsd [域:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve.4.2]::Message=src-resolve.4.2: 错误解决组件 'tns2:SimpleSerialiser'。这是 检测“tns2:SimpleSerialiser” 在命名空间 “http://targetnamespace2.com”,但是从这个命名空间 组件不是 可引用从架构文档 “文件:/home/jbossPath/jboss-4.2.1.GA/server /default/tmp/jbossws/JBossWS_targetnamespace1.com7796329154971783225.xsd”。 如果这是不正确的名称空间, 或许前缀 'tns2:SimpleSerialiser'需要更改为 。如果这是正确的 名称空间,则应将相应的 '导入'标记添加到 '文件中:/home/jbossPath/mobaq/jboss-4.2.1.GA/server/default/tmp/jbossws/JBossWS_targetnamespace1.com7796329154971783225的.xsd”。

随后警告:

警告[WSDL11Reader]编码样式 'http://schemas.xmlsoap.org/soap/encoding/' 不支持: {瓮:命名空间} doTask

最后,下面的错误显示:

ERRO [R [STDERR] org.jboss.ws.WSException:无法获得 Java类型映射: {瓮:命名空间} ArrayOf_tns2_TagType ERROR [STDERR]在 org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.buildInputParameter (JAXRPCMetaDataBuilder.java:266) ... ...

我知道一个similar error已经张贴在过去community.jboss.org但对于不同的任务。我不确定提供的修补程序是否可以解决我的问题,但我不知道如何实施所提供的修补程序。

除此之外,我发现有人有类似的问题:JAX-RPC in JBoss 4.2.3但建议的解决方案不适合我。

我也知道JbossWS不支持RPC/Encoded,但我使用jboss作为我的解决方案。 有没有办法让我解决这个问题,我不能让Jboss创建客户端服务来发送请求吗?我不确定请求一个RPC /文字WSDL文件是可能的,所以这就是为什么我问。

任何建议将不胜感激。

回答

0

我终于通过实施从JAX-RPC in JBoss 4.2.3后提出的解决方案来解决这个问题:

要跳到追,我只是把从轴1.4以下JAR在我耳边的lib目录: axis.jar, AXIT-的ant.jar,公共发现-0.2.jar,没有jaxrpc.jar,没有saaj.jar,WSDL4J-1.5.1.jar

我所做的就是把我自己的WS客户罐子上面的罐子文件,这就是为什么它不起作用。解决方案在那里,在我面前是黑色和白色的,我没有正确实施。如果问题太紧密,太长时间就会出现问题。

我是一个数字。

1

http://schemas.xmlsoap.org/soap/encoding/是旧式Web服务堆栈使用的遗留样式(这很糟糕,even Microsoft recommend against it)。它存在严重缺陷,因此被排除在WS-I interoperability spec之外,这是大多数现代Java Web服务栈实现的​​。

我知道的唯一处理这些旧编码的java堆栈是Axis 1,它本身存在严重缺陷,但可能是您唯一的选择。您应该能够从JBoss内部运行Axis作为客户端。

+0

谢谢,我会尝试刚才建议的解决方案。干杯。 – 2010-01-20 09:44:43