如何在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>

我们可以通过在soap请求中执行以下操作来解决这个问题。在本例中,'value'元素有不止一种类型:

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

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

相关内容

最新更新