我在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>
答案 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应用程序。