CFINVOKE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
説明
次のいずれかを行います。
このタグは、次のような処理を行います。
このタグでは、次の方法でメソッドにパラメータを渡すことができます。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
カテゴリ
拡張タグ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
シンタックス
シンタックス 1 <!--- このシンタックスは、コンポーネントのメソッドを呼び出します。 ---> <cfinvoke component = "component name or reference" method = "method name" returnVariable = "variable name" argumentCollection = "argument collection" ...> OR シンタックス 2 <!--- このシンタックスは、コンポーネントのメソッドをそのコンポーネント内からのみ 呼び出す場合に使用します。 ---> <cfinvoke method = "method name" returnVariable = "variable name" argumentCollection = "argument collection" ... > OR シンタックス 3 <!--- このシンタックスは、Web サービスを呼び出します。 ---> <cfinvoke webservice = "URLtoWSDL_location" method = "operation_name" username = user name" password = "password" timeout = "request timeout in seconds" proxyServer = "WSDL proxy server URL proxyPort = "port on proxy server" proxyUser = "user id for proxy server" proxyPassword = "password for proxy server" servicePort = "WSDL port name" inputParam1 = "value1" inputParam2 = "value2" ... returnVariable = "var_name" ...> OR シンタックス 4A <!--- このシンタックスは、コンポーネントを呼び出します。 このシンタックスでは、cfobject タグを使ったインスタンス化を示します。 この cfinvoke のシンタックスは、cfobject タグでコンポーネントをインスタンス化する場合、および CreateObject 関数でコンポーネントをインスタンス化する場合に適用されます。 ---> <cfobject component = "component name" name = "mystringname for instantiated object"> <cfinvoke <!--- シャープ記号で囲んだオブジェクト名に注目 ---> component = "#mystringname for instantiated component#" method = "method name" returnVariable = "variable name" argumentCollection = "argument collection" ... > OR シンタックス 4B <!--- このシンタックスは、Web サービスを呼び出します。 このシンタックスでは、cfobject タグを使ったインスタンス化を示します。 この cfinvoke のシンタックスは、cfobject タグで Web サービスをインスタンス化する場合、および CreateObject 関数で Web サービスをインスタンス化する場合に適用されます。 ---> <cfobject webservice = "web service name" name = "mystringname for instantiated object" method = "operation_name"> <cfinvoke <!--- シャープ記号で囲んだオブジェクト名に注目 ---> webservice = "#my stringname for instantiated web service#" timeout = "request timeout in seconds" proxyServer = "WSDL proxy server url proxyPort = "numeric port on proxy server" proxyUser = "string user id for proxy server" servicePort = "WSDL port name" proxyPassword = "string user password for proxy server" > |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
関連項目
cfargument、cfcomponent、cffunction、cfinvokeargument、cfobject、cfproperty、cfreturn |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ヒストリ
ColdFusion MX 7: servicePort 属性が追加されました。 ColdFusion MX 6.1: timeout、proxyServer、proxyPort、proxyUser、および proxyPassword の各属性が追加されました。 ColdFusion MX: このタグが追加されました。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用方法
どのシンタックスでどの属性が使用できるかを次の表にまとめます。
component 属性でコンポーネント名を指定した場合は、対応する名前を持つコンポーネントのインスタンスが作成され、リクエストされたメソッドが呼び出されます。その後すぐ、そのコンポーネントのインスタンスは廃棄されます。インスタンス化されているコンポーネントオブジェクトへのリファレンスをこの属性に指定した場合は、コンポーネントのインスタンス作成や廃棄は行われません。 UNIX システムでは、まず指定のコンポーネント名と同じ名前 (ただしすべて小文字) のファイルが検索されます。該当するファイルがない場合は、大文字と小文字もまったく同じ名前のファイルが検索されます。 メソッド引数は次のどの方法でも渡すことができます。同じ名前の引数が複数の方法で渡された場合は、次に示すとおりの優先順序が適用されます。
たとえば、params 構造体に a=1、b=1、c=1 という 3 つのキーが含まれているとします。次の呼び出しは、引数が a=3、b=2、c=1 という順序でメソッドに渡された場合と同様に評価されます。 <cfinvoke ... a=2 b=2 argumentCollection=params> <cfinvokeargument name="a" value="3"> </cfinvoke>
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
例
この例では、シンタックス 1 を使用しています。 <!--- すぐにインスタンスを作成して廃棄します。 ---> <cfinvoke component="nasdaq.quote" method="getLastTradePrice" returnVariable="res"> <cfinvokeargument name="symbol" value="macr"> </cfinvoke> <cfoutput>#res#</cfoutput> |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
例
この例では、シンタックス 1 を使用しています。 <!--- argumentCollection を使用して引数を渡します。 ---> <cfset args = StructNew()> <cfset args.symbol = "macr"> <cfinvoke component="nasdaq.quote" method="getLastTradePrice" argumentCollection="#args#" returnVariable="res"> <cfoutput>#res#</cfoutput> |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
例
この例では、シンタックス 2 を使用しています。 <!--- MyComponent コンポーネント内からのみ呼び出しを行います。---> <cfinvoke method = "a method name of MyComponent" returnVariable = "variable name"> |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
例
この例では、シンタックス 3 を使用しています。 <!--- cfinvoke で ColdFusion コンポーネントを使用して Web サービスを利用します。---> <cfinvoke webservice="http://www.xmethods.net/sd/2001/TemperatureService.wsdl" method="getTemp" returnvariable="aTemp"> <cfinvokeargument name="zipcode" value="55987"/> </cfinvoke> <cfoutput>The temperature at zip code 55987 is #aTemp#</cfoutput> Web サービスの詳細については、『ColdFusion MX 開発ガイド』の第36章の「Web サービスの使用」 を参照してください。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
例
この例では、シンタックス 4A を使用しています。 <!--- インスタンス作成とメソッド呼び出しを別々に行います。 さまざまなメソッドや値を使用して何度も呼び出しを行う場合に便利です。 ---> <cfobject name="quoteService" component="nasdaq.quote"> <cfinvoke component="#quoteService#" method="getLastTradePrice" symbol="macr" returnVariable="res_macr"> <cfoutput>#res#</cfoutput> <cfinvoke component="#quoteService#" method="getLastTradePrice" symbol="mot" returnVariable="res_mot"> <cfoutput>#res#</cfoutput> |
COMPONENT | |
「使用方法」を参照 | |
文字列またはコンポーネントオブジェクトです。コンポーネントのリファレンス、またはインスタンス化するコンポーネントを指定します。 |
METHOD | |
「使用方法」を参照 | |
メソッドの名前です。Web サービスの場合は、オペレーションの名前です。 |
RETURNVARIABLE | |
オプション | |
呼び出しの結果を表す変数の名前です。 |
ARGUMENTCOLLECTION | |
オプション | |
構造体の名前です。メソッドに渡す引数の連想配列です。 |
USERNAME | |
オプション | |
[Administrator] - [Web サービス] で指定されたユーザー名を上書きします。 |
PASSWORD | |
オプション | |
[Administrator] - [Web サービス] で指定されたパスワードを上書きします。 |
WEBSERVICE | |
必須 | |
Web サービスを提供する WSDL ファイルの URL です。 |
TIMEOUT | |
オプション | |
Web サービスリクエストのタイムアウトです (単位 : 秒)。 |
PROXYSERVER | |
オプション | |
Default value: "存在する場合には、http.proxyHost システムプロパティ"
webservice の URL にアクセスするために必要なプロキシサーバーです。 |
PROXYPORT | |
オプション | |
Default value: "存在する場合には、http.proxyPort システムプロパティ"
プロキシサーバー上で使用するポートです。 |
PROXYUSER | |
オプション | |
Default value: "存在する場合には、http.proxyUser システムプロパティ"
プロキシサーバーに送信するユーザー ID です。 |
PROXYPASSWORD | |
オプション | |
Default value: "存在する場合には、http.proxyPassword システムプロパティ"
プロキシサーバー上で使用するユーザーのパスワードです。 |
SERVICEPORT | |
オプション | |
Default value: "WSDL の最初に検出されたポート"
Web サービスのポート名です。この値は、service 要素内の port 要素の name 属性に対応します。大文字と小文字が区別されます。
Web サービスに複数のポートが含まれている場合、この属性を指定します。 |
INPUT_PARAMS ... | |
入力パラメータです。名前付き入力パラメータごとに paramName=paramValue を指定します。 |