A WSDL file defines the input and return parameters of an operation, including data types. For example, the TemperatureService web service contains the following definition of input and return parameters:
<message name="getTempRequest">
<part name="zipcode" type="xsd:string"/>
</message>
<message name="getTempResponse">
<part name="return" type="xsd:float"/>
</message>
As part of consuming web services, you must understand how ColdFusion converts WSDL defined data types to ColdFusion data types. The following table shows this conversion:
|
ColdFusion data type |
WSDL data type |
|---|---|
|
numeric |
SOAP-ENC:double |
|
boolean |
SOAP-ENC:boolean |
|
string |
SOAP-ENC:string |
|
array |
SOAP-ENC:Array |
|
binary |
xsd:base64Binary |
|
numeric |
xsd:float |
|
string |
xsd:enumeration |
|
date |
xsd:dateTime |
|
void (operation returns nothing) |
|
|
struct |
complex type |
|
query |
tns1:QueryBean (Returned by CFCs) |
For many of the most common data types, such as string and numeric, a WSDL data type maps directly to a ColdFusion data type. For complex WSDL data types, the mapping is not as straight forward. In many cases, you map a complex WSDL data type to a ColdFusion structure. For more information on handling complex data types, see Handling complex data types.