4
votes

Context : I'm working on a Flash application developed with FDT and compiled with Flash CS4 (I need a huge library). It should connect to various Weborb services.

Weborb is properly configured. My services are properly executed, and values returned, via the management console. Weborb examples as well as various tests compiled with Flex are fully functionnal.

Problem : when I try to adapt the code to compile with Flash, and setup the remote object like this :

var remoteObject = new RemoteObject();
remoteObject.destination = "GenericDestination";
remoteObject.source = "MyServices.MyService";
remoteObject.addEventListener("fault", onFault);
remoteObject.getFoo.addEventListener("result", onResult);

I get the following fault :

faultCode: InvokeFailed
faultString: '[MessagingError]'
faultDetail: 'null'

If I try to setup a channel this way :

var channelSet:ChannelSet = new ChannelSet();
var amfChannel:AMFChannel = new AMFChannel("my-amf",
    "http://localhost/weborb/weborb.php");
channelSet.addChannel(amfChannel);

var remoteObject = new RemoteObject();
remoteObject.channelSet = channelSet;
remoteObject.destination = "MyServices/MyService";

I then get this fault :

faultCode: Client.Error.MessageSend
faultDetail: Channel.Connect.Failed
url: 'null'

Question: how to properly setup a RemoteObject to connect to a Weborb remoting service from a Flash application compiled with Flash ?

This is driving me nuts.

2

2 Answers

2
votes

I am using this code to configure RemoteObject programatically:

var channelSet:ChannelSet = new ChannelSet();
var channel:Channel = new AMFChannel("my-amf", "http://localhost/weborb/weborb.php");
channelSet.addChannel(channel);

var ro:RemoteObject = new RemoteObject("SomeCustomDestination");
ro.source = "Full.Class.Name.With.Namespace";
ro.channelSet = channelSet;

// invoking service
var op:AbstractOperation = ro.getOperation("SomeCustomMethod");
op.addEventListener(ResultEvent.RESULT, onResult);
op.send(params);

SomeCustomDestination is defined in WEB-INF/flex/services-config.xml which is needed by the server, but client needs to identify it to access. Server may issue access policy (security constraint) for your destination.

0
votes

This a post of mine from a while ago. Maybe this will help.