GETSOAPREQUESTHEADER | |
説明
SOAP リクエストヘッダを取得します。リクエストを SOAP サービスとして処理する CFC Web サービス関数内からのみ呼び出します。 |
|
戻り値
SOAP リクエストヘッダ |
|
カテゴリ
XML 関数 |
|
ヒストリ
ColdFusion MX 7: この関数が追加されました。 |
|
関数のシンタックスGetSOAPRequestHeader(namespace, name [, asXML]) |
|
関連項目
AddSOAPRequestHeader、AddSOAPResponseHeader、GetSOAPRequest、GetSOAPResponse、GetSOAPResponseHeader、IsSOAPRequest、『ColdFusion MX 開発ガイド』の第36章の「Web サービスの使用」 の「基本的な Web サービスの概念」 |
|
パラメータ
|
|
使用方法
asXML パラメータに対して false を指定した場合、ColdFusion は、ヘッダの xsi:type 属性で指定されたデータタイプを使用してヘッダを最初に取り出そうとします。xsi:type 属性を使用できない場合、ColdFusion はヘッダを文字列として取り出そうとします。asXML パラメータに対して true を指定した場合、ColdFusion はヘッダを未処理の XML として取り出します。 この関数は、Web サービスリクエストではないコンテキストで呼び出された場合、エラーを返します。IsSOAPRequest 関数を使用して、CFC が Web サービスとして稼動しているかどうかを判別します。 |
|
例
この例では、GetSOAPRequestHeader 関数のオペレーションを示す CFC Web サービスを作成すると共に、他の ColdFusion SOAP 関数のオペレーションを示す Web サービスも提供します。 次のコードを、Web ルート下の "soapheaders" というフォルダに "headerservice.cfc" として保存します。この Web サービスを起動する例を実行することにより、そのオペレーション、特に GetSOAPRequestHeader 関数のオペレーションをテストします。たとえば、AddSOAPRequestHeader の例を参照してください。 <h3>GetSOAPRequestHeader の例</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> <!--- 先頭のヘッダを文字列および 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 | |
ヘッダの名前である文字列です。 |
ASXML | |
true の場合、ヘッダは CFML XML オブジェクトとして返されます。false (デフォルト) の場合、 ヘッダは Java オブジェクトとして返されます。 |