Adobe COLDFUSION 9 Manual page 1123

Developing applications
Hide thumbs Also See for COLDFUSION 9:
Table of Contents

Advertisement

DEVELOPING COLDFUSION 9 APPLICATIONS
Using Web Elements and External Objects
<!--- Create a structure using CFScript, then call the web service. --->
<!--- Write the returned value to a ColdFusion variable. --->
<cfscript>
stUser = structNew();
stUser.active = TRUE;
stUser.fname = "John";
stUser.lname = "Smith";
stUser.age = 23;
stUser.hiredate = createDate(2002,02,22);
stUser.number = 123.321;
ws = createObject("webservice", "http://somehost/echosimple.asmx?wsdl");
myReturnVar = ws.echoStruct(stUser);
</cfscript>
<!--- Output the returned values. --->
<cfoutput>
<br>
<br>Name of employee is: #myReturnVar.fname##myReturnVar.lname#
<br>Active status: #myReturnVar.active#
<br>Age:#myReturnVar.age#
<br>Hire Date: #myReturnVar.hiredate#
<br>Favorite Number: #myReturnVar.number#
</cfoutput>
You access elements of the variable myReturnVar using dot notation in the same way that you access structure fields.
If a complex type has nested elements, in the way a structure can have multiple levels of nested fields, you use dot
notation to access the nested elements, as in a.b.c.d, to whatever nesting level is necessary.
However, the variable myReturnVar is not a ColdFusion structure. It is a container for the complex type, but has none
of the attributes of a ColdFusion structure. Calling the ColdFusion function
You can copy the contents of the variable to a ColdFusion structure, as the following example shows:
<cfscript>
...
ws = createObject("webservice", "http://somehost/echosimple.asmx?wsdl");
myReturnVar = ws.echoStruct(stUser);
realStruct = structNew();
realStruct.active = #myReturnVar.active#;
realStruct.fname = "#myReturnVar.fname#";
realStruct.lname = "#myReturnVar.lname#";
realStruct.age = #myReturnVar.age#;
realStruct.hiredate = #myReturnVar.hiredate#;
realStruct.number = #myReturnVar.number#;
</cfscript>
Calling
on realStruct returns True and you can use all ColdFusion structure functions to process it.
IsStruct
This example shows that ColdFusion variables and structures are useful for handling complex types returned from web
services. To understand how to access the elements of a complex type written to a ColdFusion variable, inspect the
WSDL file for the web service. The WSDL file defines the API to the web service and provides you with the information
necessary to handle data returned from it.
Last updated 8/5/2010
on the variable returns False.
isStruct
1118

Advertisement

Table of Contents
loading

Table of Contents