Parsing Derived Types
You can parse SOAP messages that contain derived types. When you define the ports that receive the data from the SOAP message, choose which types might appear in a SOAP message. The elements in the types you choose determine the ports that you need to create.
For example, the WSDL might contain an AddressType and a derived type called USAddressType. You can create the following groups in the Developer tool Operation area:
Address
Address: AddressType
Street
City
Address:USAddressType
Street
City
State
ZipCode
The SOAP message might contain the following data:
<address>
<street>1002 Mission St.</street>
<city>san jose</city>
</address>
<address xsi:type="USAddressType">
<street>234 Fremont Blvd</street>
<city>Fremont</city>
<zip>94556</zip>
<state>CA</state>
</address>
<address xsi:type="USAddressType">
<street>100 Cardinal Way</street>
<city>Redwood City</city>
<zip>94536</zip>
<state>CA</state>
</address>
<address>
<street>100 El Camino Real</street>
<city>Sunnyvale</city>
</address>
The Data Integration Service returns the following rows for the base type, Address:
Street | City |
---|
1002 Mission St. | San Jose |
234 Fremont Blvd | Sunnyvale |
100 Cardinal Way | Redwood City |
100 El Camino Real | Sunnyvale |
The Data Integration Service returns the following rows for the derived type, USAddress:
Street | City | State | Zip |
---|
234 Fremont Blvd. | Sunnyvale | CA | 94556 |
100 Cardinal Way | Redwood City | CA | 94536 |
The Data Integration Service returns all addresses in the base type. The Data Integration Service returns US Addresses in the derived type. The derived type includes the Street and City elements that the USAddressType inhertits from the base type.