Axis生成所有类但不生成Axis2?

时间:2011-04-20 12:45:45

标签: web-services wsdl axis2 axis wsdl2java

我使用以下命令

生成了存根

Axis:java org.apache.axis.wsdl.WSDL2Java CrmDiscoveryServiceWsdl.xml:生成所有类

Axis2:wsdl2java.bat -u -uri CrmDiscoveryServiceWsdl.xml:只生成几个类。

       Pattern I observed is, in the wsdl:types section, it has created classes for the <s:element> types but not  <s:complexTypes>. I don't get why. I have to use those complexType elements to consume webservice.

我也尝试过-pn,-ap选项,认为它们可能有用,但是端口与此无关。我做完后明白了。

注意:当我使用-ss -g选项时,我可以使用Axis2生成所有内容,这也会生成服务器端。显然,这是一种解决方法,我不需要至少其中一些。

请帮忙。

感谢。

1 个答案:

答案 0 :(得分:1)

我也注意到了一些与此有所不同的东西。使用Axis2 1.6针对Great Plains 10生成存根,缺少某些类型。它们都是xsd复杂类型,它们从模式定义中的其他类型派生而来。这在解析包含这些缺失类型的响应时仅导致错误。从ExtensionMapper抛出错误。

使用'-g'选项生成后,ExtensionMapper中包含更多类型(包括这些缺少的派生类型),并且问题已修复。

我不确定生成服务器端代码与正确解析和生成adb bean有什么关系,但现在可以正常工作。

在使用-g vs不使用它时,Apache Axis JIRA中也存在提及不同bean的错误: http://issues.apache.org/jira/browse/AXIS2-3988