如何在Soapui请求中指定数据类型

时间:2015-06-04 18:21:42

标签: soapui

我在SOAPUI请求中有以下部分,我试图传递给Web服务进行测试:

<DataList>
    <!--Zero or more repetitions:-->
    <Element/>
</DataList>

元素列表可以是WSDL定义中指定的2种不同类型,我的问题是如何指定DataList的数据类型?

这是定义的序列:

<xsd:sequence>
<xsd:element minOccurs="0" name="DataList" nillable="true" type="ns:tDataValues"/>
</xsd:sequence>

这是定义的序列类型:

<xsd:complexType name="tDataValues">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Element" nillable="true" type="ns:Data_Value"/>
</xsd:sequence>
</xsd:complexType>

以下是定义的两种类型:

<xsd:complexType name="DataValue1">
<xsd:complexContent>
<xsd:extension base="ns:Data_Value">
<xsd:sequence>
<xsd:element minOccurs="0" name="FieldValue1" nillable="true" type="xsd:long"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>

<xsd:complexType name="DataValue2">
<xsd:complexContent>
<xsd:extension base="ns:Data_Value">
<xsd:sequence>
<xsd:element minOccurs="0" name="FieldValue2" nillable="true" type="xsd:long"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>

1 个答案:

答案 0 :(得分:0)

我们可以通过在soap请求中执行以下操作来解决此问题。在我们的例子中,'value'元素有多种类型:

<value xsi:type="xs:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">foo</value>

这可能要求服务器代码能够处理此问题。在我们的例子中,我们的应用程序是一个使用JAXB / JAXWS处理Web服务调用的JEE 5应用程序。