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