Я не уверен, как определить это в Java. Однако в моем сервисе C # мой основной параметр транзакции (заказ на покупку) содержит список позиций, определенных следующим образом:
private LineItems LineItemsField;
[DataMember(Order=13, EmitDefaultValue=false)]
public LineItems LineItems {
get { return this.LineItemsField; }
set { this.LineItemsField = value; }
}
LineItems
- это еще один класс C #, определенный следующим образом:
[CollectionDataContract(Namespace="")]
public class LineItems : List<LineItem>
{
}
LineItem
- это фактический класс, содержащий поля строки.
LineItems
появляется в WSDL как:
<s:element minOccurs="0" maxOccurs="1" name="LineItems" type="tns:ArrayOfLineItem" />
ArrayOfLineItem
определяется как:
<s:complexType name="ArrayOfLineItem">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="LineItem" nillable="true" type="tns:LineItem" />
</s:sequence>
</s:complexType>
И, конечно, сам класс LineItem
определен в другом месте. Надеюсь, это поможет.