Skip to Content
avatar image
Former Member

Soap Array in external WSDL

Hi all,

i have an webservice that i need to use as a reciever that has a WSDL containing soap arrays instead of repeating groups.

<xsd:complexType name="workOrderArray">

<xsd:complexContent>

<xsd:restriction base="soapenc:Array">

<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:workOrder[]" />

</xsd:restriction>

</xsd:complexContent>

</xsd:complexType>

i understand that PI is not supporting this but maybe somebody has found a work around ? At the moment i 'm creating an XSD from the WSDL and then i will import the xml schema and i will see if that works.

any other suggestions ?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Aug 04, 2009 at 03:52 PM

    Hi,

    I have used the following in a different product and it worked fine. You could give it a try in XI. This approach adjusts the WSDL itself rather than creating a separate XSD. Still not ideal, but closer to the original. In the WSDL, comment out the original workOrderArray complexType and add the new one showing below.

          <!-- CHANGED: Document why this has changed...  
          <xsd:complexType name="workOrderArray">
            <xsd:complexContent>
              <xsd:restriction base="soapenc:Array">
                <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:workOrder[]"/>
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          -->
    
          <xsd:complexType name="workOrderArray">
            <xsd:sequence>
              <xsd:element name="workOrder" type="tns:workOrder" maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:complexType>
    

    Thanks,

    -Russ

    Edited by: Russell Darr on Aug 4, 2009 5:57 PM

    Add comment
    10|10000 characters needed characters exceeded