Click to See Complete Forum and Search --> : Variable Number of Repeating SOAP Elements


MrNobody
06-25-2008, 01:54 PM
How do I describe a variable number of repeating elements in a WSDL output response structure? I used a tool to generate this much of the WSDL involved (I coded five question-marks where I'm unsure of the coding):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:impl="urn:IESSOAPD:PSIISRVX"
xmlns:intf="urn:IESSOAPD:PSIISRVX"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:IESSOAPD:PSIISRVX">
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="urn:IESSOAPD:PSIISRVX">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="REQU_AREA">
<sequence>
<element name="TRAN_CODE" type="xsd:string"/>
<element name="FUNC_CODE" type="xsd:string"/>
<element name="REQU_CORPNUM" type="xsd:string"/>
<element name="REQU_SUPPLID" type="xsd:string"/>
<element name="REQU_SRCCODE" type="xsd:string"/>
<element name="REQU_SRCDETL" type="xsd:string"/>
<element name="REQU_A_DATE" type="intf:REQU_A_DATE"/>
<element name="REQU_A_YTD" type="xsd:string"/>
<element name="REQU_B_DATE" type="intf:REQU_B_DATE"/>
<element name="REQU_B_YTD" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="REQU_A_DATE">
<sequence>
<element name="REQU_A_YEAR" type="xsd:string"/>
<element name="REQU_A_MNTH" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="REQU_B_DATE">
<sequence>
<element name="REQU_B_YEAR" type="xsd:string"/>
<element name="REQU_B_MNTH" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="RETN_DATA">
<complexContent>
?????
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="PreferredSupplierDataResponse">
<wsdl:part name="RETN_DATA" type="intf:RETN_DATA"/>
</wsdl:message>
<wsdl:message name="PreferredSupplierDataRequest">
<wsdl:part name="REQU_AREA" type="intf:REQU_AREA"/>
</wsdl:message>
<wsdl:portType name="PreferredSupplierDataServerPortType">
<wsdl:operation name="PreferredSupplierData">
<wsdl:documentation>
This operation returns a list of various Preferred Supplier data structures
based upon the request information supplied.
</wsdl:documentation>
<wsdl:input name="PreferredSupplierDataRequest"
message="intf:PreferredSupplierDataRequest"/>
<wsdl:output name="PreferredSupplierDataResponse"
message="intf:PreferredSupplierDataResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PreferredSupplierDataServerBinding"
type="intf:PreferredSupplierDataServerPortType">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="PreferredSupplierData">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="PreferredSupplierDataRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:IESSOAPD:PSIISRVX" use="encoded"/>
</wsdl:input>
<wsdl:output name="PreferredSupplierDataResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:IESSOAPD:PSIISRVX" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PreferredSupplierDataServer">
<wsdl:documentation>
This server provides access to the Preferred Supplier data collection on the
mainframe.
</wsdl:documentation>
<wsdl:port name="PreferredSupplierDataServer"
binding="intf:PreferredSupplierDataServerBinding">
<wsdlsoap:address location="http://server-name:port/cics/CWBA/IESSOAPS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
However, the tool does not support a variable number of repeating elements in the output response. I want to return repeating occurrences (i.e., with the same element name) of a simple string (and let the client parse the string for field data). Can this be done?

Thanks.