0
我有一個以.NET構建的Web服務(我相信2.0),而且它的WSDL是由框架自動生成的。我試圖爲它構建一個Java客戶端,並使用Axis2的wsdl2java來生成帶有ADB數據綁定的存根類(主要是因爲該客戶端的主要合作伙伴一直在爲使用Java編寫的服務做同樣的事情)。使用Axis2從具有複雜類型的WSDL生成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 tags--
<PRODUCT_NAME><![CDATA[test]]></PRODUCT_NAME>
當wsdl2java生成使用此服務的代碼,這些字段被定義爲具有類似PRODUCT_NAME_type0的類型,並且他們希望在SOAP響應中查找PRODUCT_NAME_type0作爲標記。擁有它的Java代碼是一件令人失望的事情,但期望它在SOAP響應中導致錯誤。是否有一個標誌wsdl2java會改變這種行爲?我必須使用不同的綁定嗎?不同的工具?