isSOAPRequest
Description
Determines whether a CFC is being called as a web service.
Categories
Related
addSOAPRequestHeader addSOAPResponseHeader getSOAPRequest getSOAPRequestHeader getSOAPResponse getSOAPResponseHeader
History
ColdFusion
MX 7: Added this function.
Syntax
IsSOAPRequest()
Returns
True
if CFC is being called as a web service; False, otherwise.
Usage
Call this function within a CFC to determine if it is running as a web service.
Example
This
example creates a CFC web service that illustrates the operation
of the IsSOAPRequest function and also provides
a web service that illustrates the operation of other ColdFusion
SOAP functions.
Save the following code as headerservice.cfc
in a folder called soapheaders under your web root. Test its operation,
and specifically the operation of the IsSOAPRequest function,
by executing the examples that invoke this web service. For example,
see the example for AddSOAPRequestHeader.
<h3>IsSOAPRequest Example</h3>
<cfcomponent displayName="tester" hint="Test for SOAP headers">
<cffunction name="echo_me"
access="remote"
output="false"
returntype="string"
displayname="Echo Test" hint="Header test">
<cfargument name="in_here" required="true" type="string">
<cfset isSOAP = isSOAPRequest()>
<cfif isSOAP>
<!--- Get the first header as a string and as XML --->
<cfset username = getSOAPRequestHeader("http://mynamespace/", "username")>
<cfset return = "The service saw username: " & username>
<cfset xmlusername = getSOAPRequestHeader("http://mynamespace/", "username", "TRUE")>
<cfset return = return & "<br> as XML: " & xmlusername>
<!--- Get the second header as a string and as XML --->
<cfset password = getSOAPRequestHeader("http://mynamespace/", "password")>
<cfset return = return & "The service saw password: " & password>
<cfset xmlpassword = getSOAPRequestHeader("http://mynamespace/", "password", "TRUE")>
<cfset return = return & "<br> as XML: " & xmlpassword>
<!--- Add a header as a string --->
<cfset addSOAPResponseHeader("http://www.tomj.org/myns", "returnheader", "AUTHORIZED VALUE", false)>
<!--- Add a second header using a CFML XML value --->
<cfset doc = XmlNew()>
<cfset x = XmlElemNew(doc, "http://www.tomj.org/myns", "returnheader2")>
<cfset x.XmlText = "hey man, here I am in XML">
<cfsetx.XmlAttributes["xsi:type"] = "xsd:string">
<cfset tmp = addSOAPResponseHeader("ignoredNameSpace", "ignoredName", x)>
<cfelse>
<!--- Add a header as a string - Must generate error!
<cfset addSOAPResponseHeader("http://www.tomj.org/myns", "returnheader", "AUTHORIZED VALUE", false)>
--->
<cfset return = "Not invoked as a web service">
</cfif>
<cfreturn return>
</cffunction>
</cfcomponent>