User Guide

Table Of Contents
224 Chapter 10: Building and Using ColdFusion Components
Invoking components as web services
Any application, whether it is a ColdFusion application, a Java application, JSP page, or a .Net
application, can access well-formed ColdFusion components as web services by referencing the
WSDL file that ColdFusion automatically generates.
To see a component’s WSDL definition, specify the component web address in a URL, followed
by ?wsdl; for example:
http://localhost:8500/MyComponents/arithCFC.cfc?wsdl
For more information on using CFCs as web services, see Chapter 36, “Using Web Services,” on
page 885.
Specifying the CFC location
When you instantiate or invoke a component, you can specify the component name only, or you
can specify a qualified path. To specify a qualified path, separate the directory names with periods,
not backslashes. For example, myApp.cfcs.myComponent specifies the component defined in
myApp\cfcs\myComponent.cfc. For additional information, see “Saving and naming ColdFusion
components” on page 215.
ColdFusion uses the following rules to find the specified CFC:
If you use a cfinvoke or cfobject tag, or the CreateObject function, to access the CFC
from a CFML page, ColdFusion searches directories in the following order:
a
Local directory of the calling CFML page
b
Web root
c
Directories specified on the Custom Tag Paths page of ColdFusion MX Administrator
If you specify only a component name, ColdFusion searches each of these directories, in turn,
for the component.
If you specify a qualified path, such as myApp.cfcs.myComponent, ColdFusion MX looks for
a directory matching the first element of the path in each of these directories (in this example,
myApp). If ColdFusion MX finds a matching directory, it looks for a file in the specified path
beneath that directory, such as myApp\cfcs\myComponent.cfc, relative to each of these
directories.
Note: If ColdFusion finds a directory that matches the first path element, but does not find a CFC
under that directory, ColdFusion returns a not found error and does not search for another
directory.
If you invoke a CFC method remotely, using a specific URL, a form field, Flash Remoting
MX, or a web service invocation, ColdFusion looks in the specified path relative to the web
root. For form fields and URLs that are specified directly on local web pages, ColdFusion also
searches relative to the page directory.
Note: On UNIX and Linux systems, ColdFusion MX attempts to match a CFC name or Custom tag
name with a filename, as follows: First, it attempts to find a file with the name that is all lowercase. If it
fails, it tries to find a file whose case matches the CFML case. For example, if you specify
<cfobject
name="myObject" Component="myComponent">
, ColdFusion first looks for mycomponent.cfc and, if it
doesn't find it, ColdFusion looks for myComponent.cfc.