ADDSOAPRESPONSEHEADER |
説明 SOAP レスポンスヘッダを Web サービスレスポンスに追加します。リクエストを SOAP サービスとして処理する CFC Web サービス関数内からのみ呼び出します。
戻り値 なし
カテゴリ XML 関数
ヒストリ ColdFusion MX 7: この関数が追加されました。
関数のシンタックス
    AddSOAPResponseHeader(namespace, name, value [, mustunderstand])
関連項目 AddSOAPRequestHeader、GetSOAPRequest、GetSOAPRequestHeader、GetSOAPResponse、GetSOAPResponseHeader、IsSOAPRequest、『ColdFusion MX 開発ガイド』の第36章の「Web サービスの使用」 の「基本的な Web サービスの概念」
パラメータ
使用方法 この関数は、CFC Web サービス関数内からのみ呼び出します。Web サービスリクエストではないコンテキストで呼び出された場合は、エラーが返されます。 value パラメータで XML を渡す場合、ColdFusion は namespace パラメータと name パラメータを無視します。ネーム空間が必要な場合は、XML 内で定義してください。 IsSOAPRequest 関数を使用して、CFC が Web サービスとして稼動しているかどうかを判別します。
例 この例では、AddSOAPResponseHeader 関数のオペレーションを示す CFC Web サービスを作成します。また、ColdFusion SOAP 関数のオペレーションを示す Web サービスも提供します。 次のコードを、Web ルート下の "soapheaders" というフォルダに "headerservice.cfc" として保存します。この Web サービスを起動する例を実行することにより、そのオペレーション、特に AddSOAPResponseHeader 関数のオペレーションをテストします。たとえば、AddSOAPRequestHeader の例を参照してください。
    <h3>AddSOAPResponseHeader の例</h3>
    <!--- headerservice.cfc CFC Web サービスです。--->
    <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>
       <!--- 先頭のヘッダを文字列および XML として取得します。 --->
       <cfset username = getSOAPRequestHeader("http://mynamespace/", "username")>
       <cfset return = "サービスで認識されるユーザー名 : " & username>
       <cfset xmlusername = getSOAPRequestHeader("http://mynamespace/", "username", "TRUE")>
       <cfset return = return & "<br> as XML:" & xmlusername>

       <!--- 2 番めのヘッダを文字列および XML として取得します。 --->
       <cfset password = getSOAPRequestHeader("http://mynamespace/", "password")>
       <cfset return = return & "サービスで認識されるパスワード : " & password>
       <cfset xmlpassword = getSOAPRequestHeader("http://mynamespace/", "password", "TRUE")>
       <cfset return = return & "<br> as XML:" & xmlpassword>

       <!--- ヘッダを文字列として追加します。 --->
        <cfset addSOAPResponseHeader("http://www.tomj.org/myns", "returnheader", "AUTHORIZED
    VALUE", false)>

       <!--- CFML XML 値を使用する 2 番めのヘッダを追加します。 --->
       <cfset doc = XmlNew()>
       <cfset x = XmlElemNew(doc, "http://www.tomj.org/myns", "returnheader2")>
       <cfset x.XmlText = "hey man, here I am in XML">
       <cfset  x.XmlAttributes["xsi:type"] = "xsd:string">
       <cfset tmp = addSOAPResponseHeader("ignoredNameSpace", "ignoredName", x)>
    <cfelse>
       <!--- ヘッダを文字列として追加 - 必ずエラーを生成!
        <cfset addSOAPResponseHeader("http://www.tomj.org/myns", "returnheader", "AUTHORIZED
    VALUE", false)>
       --->
        <cfset return = "Web サービスとして呼び出されない">
    </cfif>

    <cfreturn return>
    </cffunction>
    </cfcomponent>

NAMESPACE |
ヘッダのネーム空間である文字列です。

NAME |
リクエスト内の SOAP ヘッダの名前を含む文字列です。

VALUE |
SOAP ヘッダの値です。この値は CFML XML 値でもかまいません。

MUSTUNDERSTAND |
オプションです。値は true または false (デフォルト) です。このヘッダの SOAP mustunderstand 値を設定します。