I know (or want to believe) that this is actually quite easy... it must be. Here's the deal: I want to access an existing ColdFusions component (CFC) from inside a Flex2 app. I'm experienced with Flash Remoting and can call my CFCs just fine from Flash.
Now I'd like to port things to Flex2 but I am having trouble understanding some concepts. I went ahead and installed Flex2, Flex Data Services (FDS) and ColdFusion 7.0.2 on my laptop. First problem: I didn't understand if Flex Data Services was needed or not... I thought ColdFusion 7.0.2 provided some sort of Remoting gateway for flex2 yet this part of the Flex2 docs seems to suggest that RemoteObject can only be used with FDS - I know now that this does not seem to be the case as I managed to call a CFC on my local CF server using RemoteObject without FDS running. So what am I missing? Is the RemoteObject class different from the MXML tag that I am using? And if it isn't then why do the docs suggest 'FDS only'?
Here's the MXML snippet that works fine for me locally using Flex2 and CF 7.0.2 (no FDS running):

view plain print about
1<mx:RemoteObject id="RO" destination="ColdFusion"
2 fault="Alert.show(event.fault.message), 'Error'"
3 result="Alert.show(String(event.result)), 'Result'"
4 source="names"
>

5 <mx:method name="getname">
6 </mx:method>
7 </mx:RemoteObject>

I gather that the destination 'ColdFusion' is somehow configured in Flex's services-config.xml - how and why I haven't yet grasped. The 'names' in my RemoteObject tag is the CFC on my local machine and the getname is hte method in the CFc that I call. This works fine, no problem. But I don't understand how I would access a remote CFC using this code... Do I have to edit XML files and create a destination for every site that uses Remoting? That sounds a bit crazy and the XML config scared me a bit...


So what I tried (to access the same CFC but this time on a remote CF box running CF 7.0.2) was to set an endpoint in my RemoteObject tag, pointing to my FlashRemoting gateway. Is that one way of achieving what I want or am I barking up the wrong tree?

Here's what I tried:

view plain print about
1<mx:RemoteObject id="RO"
2      endpoint="http://web.okaygo.co.uk/flashservices/gateway"
3 fault="Alert.show(event.fault.message), 'Error'"
4 result="Alert.show(String(event.result)), 'Result'"
5 source="cfc.flex"
>

6 <mx:method name="getname">
7 </mx:method>
8 </mx:RemoteObject>

But all I got in Flex was this error:
view plain print about
1TypeError: Error #1034: Type Coercion failed: cannot convert Object@9373841 to mx.messaging.messages.ErrorMessage.

I didn't quite understand this error as the method should return a string - but it was clear that it was throwing an error.
Try this link to see the CFC working in a browser (it should return the string stoem).

Please somebody, anybody, help! What I want to do is access a remote CFC with minimum fuss from Flex, ideally just using a RemoteObject MXML tag. Is that possible and if so, how? I'm trying hard to find the R in RAD here. I think the whole Flex Remoting/FDS/CF thing is really tough to grasp, even for someone who's familiar with Remoting.