O'Reilly logo

Actionscript Cookbook by Joey Lott

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

20.10. Calling ColdFusion Functions from Flash

Problem

You want to invoke ColdFusion service functions using Flash Remoting.

Solution

Preferably use a ColdFusion Component (CFC). Alternatively, you can invoke a ColdFusion page, with some modifications.

Discussion

When you are using ColdFusion, there are two types of Flash Remoting service functions: ColdFusion pages and CFC methods.

Preferably, you should use CFC methods instead of ColdFusion pages for all of your Flash Remoting needs. Calling a CFC method from Flash Remoting does not require any special code changes to the CFC. The only consideration is that you must make sure that the CFC method can be accessed remotely by setting the <cffunction> tag’s access attribute to “remote”, as follows:

<cffunction name="myCFCMethod" access="remote">
  <!--- method body --->
</cffunction>

When you want to call a CFC method from a Flash movie, you should create a service object that maps to the CFC by specifying the fully qualified CFC name in the getService( ) method. The fully qualified CFC name includes any packages in which the CFC has been placed. For example:

// Create a service object that maps to a CFC named MyCFC in the root of the
// ColdFusion application.
myService = myConnection.getService("MyCFC");

// Or, if the CFC is in a package, create a service object including the package
// name. This example maps to a CFC named MyCFC in the OReilly.ASCB package.
myService = myConnection.getService("OReilly.ASCB.MyCFC");

If you must use a ColdFusion ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required