java - 制作 SOAP 响应显示带有 xsd 文件的自定义对象列表

标签 java xml maven soap xsd

所以我使用 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/

相关文章:

java - 生成了错误的 SOAP 请求

php - Jquery 解析 XML 文件

java - 如何使用 kotlin 程序中的 java 库?

java - 通过 jmeter-maven 插件运行测试时如何从命令行获取用户定义的 Jmeter 变量

JPanel 中的 Java 自定义拖放

java - ChangeListener 功能用于检查带有时间延迟/或其他解决方案的键入值

java - android studio 使 Colors.xml 损坏,然后发生未知错误

java - 使用串行端口将整数从 Arduino 发送到 Java 程序,并将两字节数组转换为 Java 中的整数

javascript,如何在将 DOMparser 与 text/html 一起使用时删除 <html><head><body> 元素

maven - 确保 Maven 中的依赖版本一致