ISSOAPREQUEST  
説明

CFC が Web サービスとして呼び出されるかどうかを調べます。

 
戻り値

CFC が Web サービスとして呼び出される場合は true、そうでない場合は false。

 
カテゴリ

XML 関数

 
ヒストリ

ColdFusion MX 7: この関数が追加されました。

 
関数のシンタックス
IsSOAPRequest()
 
関連項目

AddSOAPRequestHeader、AddSOAPResponseHeader、GetSOAPRequest、GetSOAPRequestHeader、GetSOAPResponse、GetSOAPResponseHeader、『ColdFusion MX 開発ガイド』の第36章の「Web サービスの使用」 の「基本的な Web サービスの概念」

 
使用方法

CFC 内でこの関数を呼び出して、CFC が Web サービスとして起動しているかどうかを調べます。

 

この例では、IsSOAPRequest 関数のオペレーションを示す CFC Web サービスを作成すると共に、他の ColdFusion SOAP 関数のオペレーションを示す Web サービスも提供します。

次のコードを、Web ルート下の "soapheaders" というフォルダに "headerservice.cfc" として保存します。この Web サービスを起動する例を実行することにより、そのオペレーション、特に IsSOAPRequest 関数のオペレーションをテストします。たとえば、AddSOAPRequestHeader の例を参照してください。

<h3>IsSOAPRequest の例</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>