我已经使用以下命令生成了存根
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生成所有内容,这也会生成服务器端。显然,这是一种变通方法,我至少不需要其中的一部分。
请帮帮忙。
谢谢。
发布于 2011-08-17 07:25:41
我也注意到了这一点,有些不同。在使用Axis2 1.6与Great Plains10生成存根时,缺少某些类型。它们都是从模式定义中的其他类型派生的xsd复杂类型。这只会在解析包含这些缺失类型的响应时导致错误。该错误是从ExtensionMapper引发的。
在使用'-g‘选项生成之后,更多的类型(包括这些缺少的派生类型)被包含在ExtensionMapper中,并且这个问题被修复了。
我不确定生成服务器端代码与正确解析和生成adb bean有什么关系,但它现在可以工作了。
在Apache Axis JIRA中也有一个bug,它提到了使用-g和不使用它时的不同bean:http://issues.apache.org/jira/browse/AXIS2-3988
https://stackoverflow.com/questions/5730534
复制相似问题