所以我使用Spring Maven Java创建了自己的SOAP服务。我能够创建一个自定义对象" Machine"它显示机器的主机名和IP地址。因为有多台机器,我的目标是显示机器列表,而不是只显示一台机器。
我的xsd文件:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://company.be/cloudtool/backendProofOfConcept"
targetNamespace="http://company.be/cloudtool/backendProofOfConcept"
elementFormDefault="qualified">
<xs:element name="getDevicesRequest">
<xs:complexType>
<!-- This one isn't used -->
</xs:complexType>
</xs:element>
<xs:element name="getDevicesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="machine" type="tns:machine" />
</xs:sequence>
</xs:complexType>
</xs:element> -->
<xs:complexType name="machine">
<xs:sequence>
<xs:element name="hostname" type="xs:string" />
<xs:element name="primaryip" type="xs:string" />
</xs:sequence>
</xs:complexType>
当我使用soapUI测试时,我得到以下输出: http://i.stack.imgur.com/MKPXd.png
但我想让它显示列表中每台机器的主机名和IP。我找到了以下list example,但这似乎只适用于像int或string这样的简单类型,而不适用于我的机器类型等自定义类型。
答案 0 :(得分:2)
从你的问题我认为这应该有效:
<xs:element name="getDevicesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="machine" type="tns:machine" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>