Adobe ColdFusion 8

Accessing CFCs from outside ColdFusion and basic HTML

Flash applications that use Flash Remoting can easily take advantage of ColdFusion components for business logic. Similarly, you can export CFCs so that any application can access CFC methods as web services.

For ColdFusion component methods to communicate with Flash Remoting applications, you must set the access attribute of the cffunction tag to remote.

For more information on creating CFCs for Flash Remoting, see Using the Flash Remoting Service

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 Using Web Services

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.

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:
    1. Local directory of the calling CFML page
    2. Web root
    3. Directories specified on the Custom Tag Paths page of ColdFusion 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 looks for a directory matching the first element of the path in each of these directories (in this example, myApp). If ColdFusion 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, 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 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.