Soap 使用Axis2从具有复杂类型的WSDL生成Java类

Soap 使用Axis2从具有复杂类型的WSDL生成Java类,soap,wsdl,code-generation,axis2,Soap,Wsdl,Code Generation,Axis2,我有一个内置在.NET中的web服务(我相信是2.0),它的WSDL是由框架自动生成的。我正试图为它构建一个Java客户机,并使用Axis2的wsdl2java生成带有ADB数据绑定的存根类(主要是因为该客户机的主要合作伙伴一直在为用Java编写的服务做同样的事情) WSDL包含许多复杂类型,类似于以下……代码段: <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:long" />

我有一个内置在.NET中的web服务(我相信是2.0),它的WSDL是由框架自动生成的。我正试图为它构建一个Java客户机,并使用Axis2的wsdl2java生成带有ADB数据绑定的存根类(主要是因为该客户机的主要合作伙伴一直在为用Java编写的服务做同样的事情)

WSDL包含许多复杂类型,类似于以下……代码段:

<s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:long" /> 
  <s:element minOccurs="0" maxOccurs="1" name="PRODUCT_NAME">
   <s:complexType mixed="true">
    <s:sequence>
     <s:any /> 
    </s:sequence>
   </s:complexType>
  </s:element>
   ...

...
在SOAP消息中,这些字段都有CDATA标记--



当wsdl2java生成使用此服务的代码时,这些字段被定义为PRODUCT_NAME_type0之类的类型,它们希望在SOAP响应中找到PRODUCT_NAME_type0作为标记。让它成为Java代码是一件很糟糕的事情,但是期望它出现在SOAP响应中会导致错误。wsdl2java是否有一个标志可以改变这种行为?我必须使用不同的绑定吗?不同的工具?

哇,我想这对外面的人来说是个简单的问题

最后,我决定ADB可能不是为了支持我所拥有的WSDL而设计的,于是转而使用JAX-WS中的wsimport实用程序,这似乎是可行的

<PRODUCT_NAME><![CDATA[test]]></PRODUCT_NAME>