Does either of the following:
<!--- Syntax 1: This syntax invokes a method of a component. Improve this example ---> <cfinvoke component = "component name or reference" method = "method name" returnVariable = "variable name" argumentCollection = "argument collection" ...> OR <!--- Syntax 2: This syntax can invoke a method of a component only from within the component. ---> <cfinvoke method = "method name" returnVariable = "variable name" argumentCollection = "argument collection" ...> OR <!--- Syntax 3: This syntax invokes a web service. ---> <cfinvoke webservice = "Web service name or WSDL URL" method = "operation name" password = "password" proxyPassword = "password for proxy server" proxyPort = "port on proxy server" proxyServer = "WSDL proxy server URL" proxyUser = "user ID for proxy server" returnVariable = "variable name" refreshWSDL = "yes|no" servicePort = "WSDL port name" timeout = "request timeout in seconds" username = "user name" wsdl2javaArgs = "argument string"> OR <!--- Syntax 4A: This syntax invokes a component. This syntax shows instantiation with the cfobject tag. This cfinvoke syntax applies to instantiating a component with the cfobject tag and to instantiating a component with the CreateObject function. ---> <cfobject component = "component name" name = "name for instantiated component"> <cfinvoke <!--- Value is object name, within number signs. ---> component = "#name of instantiated component#" method = "method name" returnVariable = "variable name" argumentCollection = "argument collection" ...> OR <!--- Syntax 4B: This syntax invokes a web service. This syntax shows instantiation with the cfobject tag. This cfinvoke syntax applies to instantiating a web service with the cfobject tag and to instantiating a web service with the CreateObject function. ---> <cfobject webservice = "web service name or WSDL URL" name = "name for instantiated object" (optional cfobject attibutes)> <cfinvoke webservice = "#cfobject name attribute value#" method = "method name" password = "password" proxyPassword = "password for proxy server" proxyPort = "port on proxy server" proxyServer = "name or IP address of WSDL proxy server" proxyUser = "user ID for proxy server" returnVariable = "variable name" refreshWSDL = "yes|no" servicePort = "WSDL port name" timeout = "request time-out in seconds" username = "user name" wsdl2javaArgs = "argument string"> Or <cfinvoke authType="NTLM" webservice="Web service name or WSDL URL" ntlmdomain="domain name" workstation="workstation name" method="operation name" password="password" proxyPassword="password for proxy server" proxyPort="port on proxy server" proxyServer="WSDL proxy server URL" proxyUser="user ID for proxy server" returnVariable="variable name" refreshWSDL=""yes|no" servicePort="WSDL port name" timeout="request timeout in seconds" username="username" wsdl2javaargs="argument string">
You can specify this tag's attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag's attribute names as structure keys.
Adobe ColdFusion (2016 release): Added the authType, workstation, and ntlmDomain attributes.
ColdFusion 10: Added the wsVersion attribute.
ColdFusion 8: Added the following attributes: refreshWSDL, wsdl2javaArgs attributes.
ColdFusion MX 7: Added the servicePort attribute.
ColdFusion MX 6.1: Added the following attributes: timeout, proxyServer, proxyPort, proxyUser, and proxyPassword.
ColdFusion MX: Added this tag.
Attribute |
Req/Opt |
Default |
Description |
|---|---|---|---|
argumentCollection |
Optional |
|
Name of a structure; associative array of arguments to pass to the method. |
authType |
Optional |
|
The type of authentication to use. The values are NTLM and BASIC. |
component |
See Usage. |
|
String or component object; a reference to a component, or component to instantiate. |
input_params ... |
|
|
Input parameters. For each named input parameter specifyparamName=paramValue. |
method |
See Usage. |
|
Name of a method. For a web service, the name of an operation. |
ntlmDomain |
Required if authType=NTLM |
|
Domain in which a user is registered. Note: When a user is part of a domain, the ntlmDomain attribute is mandatory. When a user is not part of a domain, the ntlmDomain attribute is not mandatory. |
password |
Optional |
Password set in the Administrator, if any |
The password to use to access the web service. If the webservice attribute specifies a web service name configured in the Administrator, overrides any user name specified in the Administrator entry. |
proxyPassword |
Optional |
http.proxyPassword system property, if any |
The user's password on the proxy server. |
proxyPort |
Optional |
http.proxyPort system property, if any. |
The port to use on the proxy server. |
proxyServer |
Optional |
http.proxyHost system property, if any. |
The proxy server required to access the webservice URL. |
proxyUser |
Optional |
http.proxyUser system property, if any |
The user ID to send to the proxy server. |
refreshWSDL |
Optional |
no |
|
returnVariable |
Optional |
|
Name of a variable for the invocation result. |
servicePort |
Optional |
First port found in the WSDL |
The port name for the web service. This value is case sensitive and corresponds to the port element's name attribute under the service element.Specify this attribute if the web service contains multiple ports. |
timeout |
Optional |
0 (no timeout) |
The time-out for the web service request, in seconds. |
username |
Optional |
User name set in the Administrator, if any |
The user name to use to access the web service. If the webservice attribute specifies a web service name configured in the Administrator, overrides any user name specified in the Administrator entry. |
webservice |
See Usage |
|
One of the following:
|
workstation |
Optional |
|
Host name of the client machine. |
wsdl2javaArgs |
See Usage |
|
A string that contains a space-delimited list of arguments to pass to the WSDL2Java tool that generates Java stubs for the web services. Useful arguments include the following:
|
wsVersion |
Optional |
|
Specifies version of the axis to be used. If the wsversion is specified as "1" then axis 1 will be used for Consuming. If it is "2" then axis 2 will be used. |
If you do not specify any attributes of the proxy server, and a corresponding system property is set (typically in the JVM startup arguments) ColdFusion uses the system property value.
The following table shows when you can use each attribute:
This attribute is required, optional, ignored, or invalid: |
For this cfinvoke tag syntax: |
||||
|---|---|---|---|---|---|
Syntax 1 |
Syntax 2 |
Syntax 3 |
Syntax 4A |
Syntax 4B |
|
argumentCollection |
Optional |
Optional |
Optional |
Optional |
Optional |
component |
Required |
Optional |
Invalid |
Required |
Invalid |
input_params ... |
Optional |
Optional |
Optional |
Optional |
Optional |
method |
Required |
Required |
Required |
Required |
Required |
password |
Ignored |
Ignored |
Optional |
Ignored |
Optional |
proxyPassword |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
proxyPort |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
proxyServer |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
proxyUser |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
returnVariable |
Optional |
Optional |
Optional |
Optional |
Optional |
servicePort |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
timeout |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
username |
Ignored |
Ignored |
Optional |
Ignored |
Optional |
webservice |
Invalid |
Invalid |
Required |
Invalid |
Required |
wsdl2javaArgs |
Invalid |
Invalid |
Optional |
Invalid |
Optional |
If the component attribute specifies a component name, the component with the corresponding name is instantiated, the requested method is invoked, and then the component instance is immediately destroyed. If the attribute contains a reference to an instantiated component object, no instantiation or destruction of the component occurs.On UNIX systems, ColdFusion searches first for a file with a name that matches the specified component name, but is all lower case. If it does not find the file, it looks for a file name that matches the component name exactly, with the identical character casing.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:
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>
The following cfinvoke tag attribute names are reserved; they cannot be used for argument names: component, method, argumentCollection, and result.
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>
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>
This example uses Syntax 2.
<!--- Called only from within a component, MyComponent. ---> <cfinvoke method = "a method name of MyComponent" returnVariable = "variable name">
This example uses Syntax 3.
<!--- Using cfinvoke to consume a web service using a ColdFusion component. ---> <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>
For more information on web services, see Using Web Services in the Developing ColdFusion Applications.
This example uses Syntax 4A.
<!--- Separate instantiation and method invocation; useful for multiple invocations using different methods or values. ---> <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>
Sign in to your account