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 値を設定します。 |