java:JAXWS 2.0不支持Rpc / encoded wsdls [英] java: Rpc/encoded wsdls are not supported in JAXWS 2.0

查看:1927
本文介绍了java:JAXWS 2.0不支持Rpc / encoded wsdls的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用CXF 2.1从wsdl生成java代码,但是我收到以下错误:

I'm using CXF 2.1 to generate java code from a wsdl, but I'm getting the following error:

WSDLToJava Error: Rpc/encoded wsdls are not supported in JAXWS 2.0

org.apache.cxf.tools.common.ToolException: Rpc/encoded wsdls are not supported in JAXWS 2.0
    at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.checkSupported(JAXWSDefinitionBuilder.java:141)
    at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:87)
    at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:61)
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:127)
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:232)
    at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
    at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:103)
    at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:173)

如何解决此错误,我可以使用以前版本的CXF或其他任何方法来修复它吗?

How do I fix this error, can I use a previous version of CXF or anything else to fix it?

推荐答案

RPC / encoded是使用XML Schema定义SOAP对象之前的遗留物。它已经不再受到广泛支持。您需要使用 Apache Axis 1.0 生成存根,来自同一个时代。

RPC/encoded is a vestige from before SOAP objects were defined with XML Schema. It's not widely supported anymore. You will need to generate the stubs using Apache Axis 1.0, which is from the same era.

java org.apache.axis.wsdl.WSDL2Java http://someurl?WSDL 

您将需要-cp classpath参数中的以下jar或等价物:

You will need the following jars or equivalents in the -cp classpath param:

  • axis-1.4.jar
  • commons-logging-1.1.ja
  • commons-discovery-0.2.jar
  • jaxrpc-1.1.jar
  • saaj-1.1.jar
  • wsdl4j-1.4.jar
  • activation-1.1.jar
  • mail-1.4.jar

这将生成与wsimport类似的存根。

This will generate similar stubs to wsimport.

或者,如果您没有使用需要rpc / encoded的架构部分,您可以下载WSDL的副本并发表评论那些比特。然后对本地文件运行wsimport。

Alternatively, if you are not using the parts of the schema that require rpc/encoded, you can download a copy of the WSDL and comment out those bits. Then run wsimport against the local file.

如果查看WSDL,以下位使用rpc / encoded:

If you look at the WSDL, the following bits are using rpc/encoded:

<soap:body use="encoded"
           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

这篇关于java:JAXWS 2.0不支持Rpc / encoded wsdls的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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