Postei a algum tempo este conteúdo no
fórum mxstudio.
Com os seguintes serviços:
- Jacarta
- Coldfusion MX 7 (7.0.2) (instância cfusion)
Abra o administrador coldfusion, e siga os passos:
1 - acesse o painel de configuração Flex Integration
2 - habilite o suporte a Flash Remoting
3 - altere o id do serviço, que estará em service-config.xml, para ColdFusion (pode ser outro, mas deve ser o mesmo id em destinação do arquivo de configuração)

E o meu "{catalina}/cfusion/web-inf/flex/services-config.xml" está exatamente como a seguir.
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service id="coldfusion-flashremoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage">
<adapters>
<adapter-definition id="cf-object" class="coldfusion.flash.messaging.ColdFusionAdapter" default="true"/>
</adapters>
<destination id="ColdFusion">
<channels>
<channel ref="my-cfamf"/>
</channels>
<properties>
<source>*</source>
<!-- define the resolution rules and access level of the cfc being invoked -->
<access>
<!-- Use the ColdFusion mappings to find CFCs, by default only CFC files under your webroot can be found. -->
<use-mappings>true</use-mappings>
<!-- allow "public and remote" or just "remote" methods to be invoked -->
<method-access-level>remote</method-access-level>
</access>
<property-case>
<!-- cfc property names -->
<force-cfc-lowercase>false</force-cfc-lowercase>
<!-- Query column names -->
<force-query-lowercase>false</force-query-lowercase>
<!-- struct keys -->
<force-struct-lowercase>false</force-struct-lowercase>
</property-case>
</properties>
</destination>
</service>
</services>
<channels>
<channel-definition id="my-cfamf" class="mx.messaging.channels.AMFChannel">
<endpoint uri="http://localhost:8080/cfusion/flex2gateway/" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
<serialization>
<!-- <instantiate-types>false</instantiate-types> -->
<custom-deserializer type="typed-object" class="coldfusion.flash.messaging.io.amf.serializers.TypedObjectDeserializer" />
</serialization>
</properties>
</channel-definition>
</channels>
<logging>
<target class="flex.messaging.log.ConsoleTarget" level="Error">
<properties>
<prefix>[Flex] </prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>false</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
<pattern>Message.*</pattern>
</filters>
</target>
</logging>
<system>
</system>
</services-config>
E para testar crie um componente, da mesma forma que utiliza-se em uma aplicação Flash tradicional.
O componente "{catalina}/cfusion/flex/dados.cfc" do teste.
<cfcomponent name="dados" alias="flex.dados">
<cffunction name="getDados" output="false" access="remote" returntype="string">
<cfargument name="dado" type="string" required="yes">
<cfreturn Arguments.dado>
</cffunction>
</cfcomponent>
O MXML "{catalina}/cfusion/flex/dados.mxml" do teste.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:RemoteObject id="cf" destination="ColdFusion" source="flex.dados"
result="mx.controls.Alert.show(event.result as String)"
showBusyCursor="true" />
<mx:TextInput id="field"/>
<mx:Button label="Button" click="cf.getDados({dado:field.text} as Object)"/>
</mx:Application>
Espero que não tenham dificuldades, de outra forma comentem.