2015-06-04 4 views
0

У меня есть следующий раздел в моей просьбе SoapUI, что я пытаюсь перейти на веб-сервис для тестирования:Как указать тип данных в запросе SoapUI

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

Список элементов может быть 2 разные типы, указанные в определении WSDL, мой вопрос: как указать тип данных 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> 

Вот 2 типа определены:

<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

Мы смогли решить это для нашего приложения, выполнив следующее в запросе мыла. В нашем случае элемент «значение» имеет более чем один тип:

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

Это может потребовать код сервера, чтобы быть в состоянии справиться с этим. В нашем случае наше приложение представляет собой приложение JEE 5, использующее JAXB/JAXWS для обработки вызовов веб-службы.