所以我使用 Spring Maven Java 创建了自己的 SOAP 服务。我能够创建一个自定义对象“机器”,它显示机器的主机名和 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,而不适用于自定义类型,如我的机器类型。
最佳答案
根据你的问题,我认为这应该有效:
<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>
关于java - 制作 SOAP 响应显示带有 xsd 文件的自定义对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28767049/