User Guide

cfinvoke 259
Method arguments can be passed in any of the following ways. If an argument is passed in more
than one way with the same name, this order of precedence applies:
1.
Using the cfinvokeargument tag
2.
Passing directly as attributes of the cfinvoke tag (they cannot have the same name as a
registered
cfinvoke attribute: method, component, webservice, returnVariable)
3.
Passing as struct keys, using the argumentCollection attribute
For example, the
params struct contains three keys: a=1, b=1, c=1. The following call is evaluated
as if the arguments were passed to the method in the order
a=3, b=2, c=1:
<cfinvoke ... a=2 b=2 argumentCollection=params>
<cfinvokeargument name="a" value="3">
</cfinvoke>
Note: The following cfinvoke tag attribute names are reserved; they cannot be used for argument
names: component, method, argumentCollection, and result.
Example1
This example uses Syntax 1.
<!--- Immediate instantiation and destruction. --->
<cfinvoke
component="nasdaq.quote"
method="getLastTradePrice"
returnVariable="res">
<cfinvokeargument
name="symbol"
value="macr">
</cfinvoke>
<cfoutput>#res#</cfoutput>
Example2
This example uses Syntax 1.
<!--- Passing the arguments using argumentCollection. --->
<cfset args = StructNew()>
<cfset args.symbol = "macr">
<cfinvoke
component="nasdaq.quote"
method="getLastTradePrice"
argumentCollection="#args#"
returnVariable="res">
<cfoutput>#res#</cfoutput>
Example3
This example uses Syntax 2.
<!--- Called only from within a component, MyComponent.--->
<cfinvoke
method = "a method name of MyComponent"
returnVariable = "variable name">