[英]How to generate array of long from wsdl?
我正在使用以下類型來生成Web服務響應類:
<xsd:complexType name="SaveUniversalIdsRequest">
<xsd:sequence>
<xsd:element name="persist" type="mu:UniversalIdList" />
<xsd:element name="remove" type="xsd:long" />
<xsd:element name="secString" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
並生成帶有受保護的long remove的類;
但是我想生成一個數組來代替。 添加minOccurs =“ 0” maxOccurs =“ unbounded”會生成一個列表。
請協助。
如您所見: 整數數組的WSDL聲明是什么?
<element name="ArrayOfLongs">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="remove" type="xsd:long"/>
</sequence>
</complexType>
</element>
您需要使用jaxb自定義綁定功能- 使用綁定聲明自定義XML模式到Java的映射
嘗試使用以下命令:
wsimport-詳細-b jaxbindings.xml-保持-Xnocompile -p com.vmware.vim25 -s“ src” vimService.wsdl
jaxbingdings.xml的內容為:
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
jaxb:version="2.1"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
<jaxb:globalBindings
collectionType ="indexed"
generateIsSetMethod="false">
</jaxb:globalBindings>
</jaxb:bindings>
注意collectionType應該被索引。 您還可以將其設置為自己的定義列表,例如com.my.List。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.