Developer Transformation Guide > Parsing Web Service SOAP Messages > Parsing anyType Elements
  

Parsing anyType Elements

The anyType element represents a choice of all global types in a WSDL or schema. When you map nodes to ports in the Developer tool, you choose which types to appear in the SOAP message for the anyType element. You must replace an anyType element in the SOAP message with a complex type or xs:string. Create groups of ports for each type that you choose.
You must choose a type to map data to output ports. If the WSDL or schema does not contain a global type, the Developer tool replaces the anyType element with xs:string.
To choose an element type in the Operation area, click Choose in the Type column for the anyType element. A list of available complex types and xs:string appears.
When you replace an anyType element with derived types, the Data Integration Service populates elements for one type at a time. The SOAP message does not contain data for the base type and the derived type at the same time.

Derived Types Example

The WSDL contains an anyType element. You replace the element with AddressType and a derived type called USAddressType. The SOAP message hierarchy has the following groups:
Address:AddressType (base type)
Address: AddressType
Street
City

Address:USAddressType (derived type)
Street
City
State
ZipCode

The SOAP message contains the following data:
<address xsi: type ="AddressType">
<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>

The Data Integration Service returns one row for xsi: AddressType:
Street
City
1002 Mission St.
San Jose
The Data Integration Service returns one row for the derived type xsi: USAddressType:
Street
City
State
Zip
234 Fremont Blvd.
Sunnyvale
CA
94556
The Data Integration Service does not populate the AddressType if the type is xsi: USAddressType.