<!--- Note that you might need to modify the URL in the CreateObject function
to match your server and the location of the headerservice.cfc file if it is
different than shown here. Likewise for the cfinvoke tag at the end. --->
<h3>AddSOAPRequestHeader Example</h3>
<cfscript>
// Create the web service object.
ws = CreateObject("webservice", "http://localhost/soapheaders/
headerservice.cfc?WSDL");
// Set the username header as a string.
addSOAPRequestHeader(ws, "http://mynamespace/", "username", "tom", false);
// Set the password header as a CFML XML object.
doc = XmlNew();
doc.password = XmlElemNew(doc, "http://mynamespace/", "password");
doc.password.XmlText = "My Voice is my Password";
doc.password.XmlAttributes["xsi:type"] = "xsd:string";
addSOAPRequestHeader(ws, "ignoredNameSpace", "ignoredName", doc);
// Invoke the web service operation.
ret = ws.echo_me("argument");
// Get the first header as an object (string) and as XML.
header = getSOAPResponseHeader(ws, "http://www.tomj.org/myns",
"returnheader");
XMLheader = getSOAPResponseHeader(ws, "http://www.tomj.org/myns",
"returnheader", true);
// Get the second header as an object (string) and as XML.
header2 =
getSOAPResponseHeader(ws, "http://www.tomj.org/myns",
"returnheader2");
XMLheader2 = getSOAPResponseHeader(ws, "http://www.tomj.org/myns",
"returnheader2", true);
</cfscript>
<hr>
<cfoutput>
Soap Header value: #HTMLCodeFormat(header)#<br>
Soap Header XML value: #HTMLCodeFormat(XMLheader)#<br>
Soap Header 2 value: #HTMLCodeFormat(header2)#<br>
Soap Header 2 XML value: #HTMLCodeFormat(XMLheader2)#<br>
Return value: #HTMLCodeFormat(ret)#<br>
</cfoutput>
<hr>
<cfinvoke component="soapheaders.headerservice" method="echo_me"
returnvariable="ret" in_here="hi">
</cfinvoke>
<cfoutput>Cfinvoke returned: #ret#</cfoutput>
464
Chapter 3: ColdFusion Functions