Sequence of ICs and fields in SOAP response document doesn't match the sequence in which they're defined in the WSDL. (Doc ID 2058203.1)

Last updated on MARCH 02, 2017

Applies to:

Siebel CRM - Version 8.1.1.11.16 [IP2013] and later
Information in this document applies to any platform.

Symptoms

Environment:
-------------------
Product Type: Siebel CRM
Version: 8.1.1.11.16 [IP2013]
OS platform: Linux x86-64
DB: N/S
Env type: Developement

Statement of Issue:
-----------------------------
Environment:
-------------------
Product Type: Siebel CRM
Version: 8.1.1.11.16 [IP2013]
OS platform: Linux x86-64
DB: N/S
Env type: Developement

Statement of Issue:
-----------------------------
An external application is calling the ProductConfigurationOrder web service. The problem is that the order of components and fields in the SOAP response document is different to the order in which the components and fields are defined in the WSDL.

For example, in the WSDL, the complexType Item is defined as follows:

<xsd:complexType name="Item">
<xsd:sequence>
<xsd:element name="RootIntegrationId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="Quantity" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="ProductId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="PortId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="ParentProductId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="ParentIntegrationId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="Name" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="NRCCxTotal" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="MRCCxTotal" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="ListPrice" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="IntegrationId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="HasGenericsFlag" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="ExchangeDate" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="EligibilityStatus" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="EligibilityReason" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="CurrentPrice" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="CurrencyCode" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="CanDrilldown" maxOccurs="1" minOccurs="0" type="xsd:string"/>
<xsd:element name="Relationship" maxOccurs="unbounded" minOccurs="0" type="xsdLocal2:Relationship"/>
<xsd:element name="Explanation" maxOccurs="unbounded" minOccurs="0" type="xsdLocal2:Explanation"/>
<xsd:element name="Attribute" maxOccurs="unbounded" minOccurs="0" type="xsdLocal2:Attribute"/>
<xsd:element name="Item" maxOccurs="unbounded" minOccurs="0" type="xsdLocal2:Item"/>
</xsd:sequence>
</xsd:complexType>

When the web service is called from SoapUI, the SOAP response document includes:

<ListOfData xmlns="http://siebel.com/OrderManagement/Configurator/CfgInteractData">
 <ProductData>
   <Item>
     <RootIntegrationId>1-U2R89</RootIntegrationId>
     <Quantity>1</Quantity>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <Relationship>
     <ProductId>1-3L54D</ProductId>
     <Name>Mobilny Internet dla Firm</Name>
     <NRCCxTotal>0</NRCCxTotal>
     <MRCCxTotal>19</MRCCxTotal>
     <IntegrationId>1-U2R89</IntegrationId>
     <HasGenericsFlag>false</HasGenericsFlag>
     <CurrencyCode>PLN</CurrencyCode>
     <CanDrilldown>true</CanDrilldown>

Expected Behavior:
---------------------------
The order of components and fields in the SOAP response document matches the order in which components and fields are defined in the WSDL.

Actual Behavior:
-----------------------
The order of components and fields in the SOAP response document doesn’t match the order in which components and fields are defined in the WSDL.

Business Impact:
-------------------------
The external system that uses this web service needs to get a response with the sequence that matches WSDL.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms