GETSOAPRESPONSEHEADER |
Description Returns a SOAP response header. Call this function from within code that is invoking a web service after making a web service request.
Returns A SOAP response header.
Category XML functions
History ColdFusion MX 7: Added this function.
Function syntax
    GetSOAPResponseHeader(webservice, namespace, name [, asXML])
See also AddSOAPRequestHeader, AddSOAPResponseHeader, GetSOAPRequest, GetSOAPRequestHeader, GetSOAPResponse, IsSOAPRequest; "Basic web service concepts" in Chapter 36, "Using Web Services," in ColdFusion MX Developer's Guide
Parameters
Usage If you specify false for the asXML parameter, ColdFusion first attempts to retrieve the header using the data type specified in the header's xsi:type attribute. If the xsi:type attribute is not available, ColdFusion attempts to retrieve the header as a string. If you specify True for the asXML parameter, ColdFusion retrieves the header as raw XML.

Used within CFML code by a consumer of a web service after it calls the web service with cfinvoke.

Example There are two parts to this example. The first part is the web service CFC that this function (as well as the other ColdFusion SOAP functions) uses to demonstrate its interaction with a web service. To implement the web service for this function, see the example for either the AddSOAPResponseHeader function or the GetSOAPRequestHeader function.

Execute the following example to see how the GetSOAPResponseHeader function operates:

    <!--- 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>GetSOAPResponseHeader 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>

WEBSERVICE |

A webservice object as returned from the cfobject tag or the CreateObject function.

NAMESPACE |

A String that is the namespace for the header.

NAME |

A String that is the name of the SOAP header.

ASXML |

If True, the header is returned as a CFML XML object. If False (default), the header is returned as a Java object.