User Guide

Table Of Contents
908 Chapter 36: Using Web Services
The following example CFM page uses the AddSOAPRequestHeader, getSOAPRequest, and
GetSOAPResponse functions:
<cfsavecontent variable="my_xml">
<Request xmlns="http://www.oasis-open.org/asap/0.9/asap.xsd">
<SenderKey>ss</SenderKey>
<ReceiverKey>zz</ReceiverKey>
<ResponseRequired>Yes</ResponseRequired>
<RequestID>id</RequestID>
</Request>
</cfsavecontent>
<cfset xml_obj = xmlparse(my_xml)>
<cfscript>
ws = CreateObject("webservice", "http://localhost:8500/soapexamples/
HeaderFuncs.cfc?WSDL");
addSOAPRequestHeader(ws, "http://www.cfdevguide.com/", "testrequestheader",
"#xml_obj#");
</cfscript>
<cfscript>
ret=ws.showSOAPHeaders();
inxml = getSOAPRequest(ws);
outxml = getSOAPResponse(ws);
</cfscript>
<cfoutput>
<h2>Return Value</h2>
<!--- This is XML, so use HTMLCodeFormat. --->
The return value was #ret#
<h2>Complete Request XML</h2>
#htmlcodeformat(inxml)#
<h2>Complete Response XML</h2>
#htmlcodeformat(outxml)#
</cfoutput>
The following example CFC uses the IsSOAPRequest and AddSOAPResponseHeader functions:
<cfcomponent>
<cffunction
name = "showSOAPHeaders"
returnType = "string"
output = "no"
access = "remote"
hint="After calling this function, use GetSOAPRequest and GetSOAPResponse
to view headers">
<cfset var xml_obj = "">
<cfset var ret = "">
<cfif IsSOAPRequest()>
<!--- Define a response header --->
<cfsavecontent variable="response_xml">
<ThisResponseHeader xmlns="http://www.cfdevguide.com">
<CreatedDateTime><cfoutput>#now()#</cfoutput></CreatedDateTime>
<ExpiresInterval>6000</ExpiresInterval>
</ThisResponseHeader>