Hopefully someone might recognise this error...
Sadly it brings up only one result on google and that's a bit vague as to how
that person got out of thier hole... :(

I'm trying some very simple Flex Messaging with Flex Builder 2.0.1 and CF8
Standard (with LiveCycle 2.5.? built in)

But I get this error:
"Destination 'ColdFusionGateway' requires FlexClient support which was
introduced in version 2.5. Please recompile the client application with an
updated client framework."

I guess the '2.5' is referring to LiveCycle?
And I guess it's saying that the Flex compiler needs some updated elements to
compile with so it can work with LiveCycle ?
I think stepping into Flex for the first time just as FDS became LiveCycle was
not a good idea.

Strangely I (may have) narrowed it down to the gatewayid tag in
OR <gatewayid>Flex2CF2</gatewayid>

Which has been there well before LiveCycle. BUT If I remove this tag
completely the error doesn't occur... then of course messaging doesn't work
without it. Ho hum

I can't see any DataServicesMessaging In/Outs using cf-polling-amf... I'm
having more luck with cf-rtmp - I can see the 'In' and 'Out' counters ticking
away when i view my ColdFusion Event Gateway Instance in the CF admin.

So polling-amf won't connect, whereas rtmp will. Neither channel will
'subscribe' though.

I've got ColdFusion Extensions 0.5.155475 installed (don't ask me how - it was
a nightmare!) and working in Flex Builder 2.

I tried bringing the flex/libs over to flex builder from CF as they were newer
- no good

I updated Flex Builder with:
Flex 2.0.1 SDK with HotFix 3 from

But nothing helps.

here's the mxml:


<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="initApp()" viewSourceURL="srcview/index.html">

import com.mikenimer.components.*;

import mx.messaging.*;
import mx.messaging.messages.*;
import mx.messaging.events.*;

public var pro:mx.messaging.Producer;
public var con:mx.messaging.Consumer;

public function initApp():void {
pro = new mx.messaging.Producer();
pro.destination = "ColdFusionGateway";

public function sendMessage():void {
var msg:AsyncMessage = new AsyncMessage();

msg.headers.gatewayid = "Flex2CF2";
msg.body = new Object();
msg.body.emailto = emailto.text;
messagestatus.text = "Message sent to ColdFusion.";

private function messageHandler(event:MessageEvent):void {
messagestatus.text = "Message received from ColdFusion.";
private function faultHandler(event:MessageFaultEvent):void {
messagestatus.text = "FAULT";

<mx:Consumer id="consumer" destination="ColdFusionGateway"
fault="faultHandler(event)" />

<mx:TextInput x="103" y="13" width="291" id="emailto" editable="true"/>
<mx:Button x="402" y="13" label="Send" id="emailsend"
<mx:Label id="messagestatus" x="103" y="350" width="291" text="Message
not sent yet."/>


relevant bits from services-config.xml

<channel-definition id="cf-polling-amf"

<channel-definition id="cf-rtmp"
<endpoint uri="rtmp://{server.name}:2048"

the messaging-config.xml


<destination id="ColdFusionGateway">
<adapter ref="cfgateway" />
<channel ref="cf-rtmp"/>
<channel ref="cf-polling-amf"/>

I tried some of this to no avail:



why is it some lucky folk find it sooo easy? :


it should be THAT easy dontcha think?

help me please, please.