| 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 オブジェクトとして返されます。 | |