没有 services-config.xml 的 Flash RemoteObject Weborb 连接(没有 Flex)

Posted

技术标签:

【中文标题】没有 services-config.xml 的 Flash RemoteObject Weborb 连接(没有 Flex)【英文标题】:Flash RemoteObject Weborb connection without services-config.xml (no Flex) 【发布时间】:2009-11-12 12:34:13 【问题描述】:

上下文:我正在开发一个使用 FDT 开发并使用 Flash CS4 编译的 Flash 应用程序(我需要一个庞大的库)。它应该连接到各种 Weborb 服务。

Weborb 已正确配置。我的服务通过管理控制台正确执行并返回值。 Weborb 示例以及使用 Flex 编译的各种测试功能齐全。

问题: 当我尝试调整代码以使用 Flash 编译并像这样设置远程对象时:

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

我得到以下错误:

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

如果我尝试以这种方式设置频道:

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";

然后我得到了这个错误:

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

问题:如何正确设置 RemoteObject 以从使用 Flash 编译的 Flash 应用程序连接到 Weborb 远程服务?

这让我发疯了。

【问题讨论】:

【参考方案1】:

我正在使用此代码以编程方式配置RemoteObject

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 定义在WEB-INF/flex/services-config.xml 中,这是服务器需要的,但客户端需要识别它才能访问。服务器可能会为您的目的地发布访问策略(安全约束)。

【讨论】:

【参考方案2】:

这是我不久前的post。也许这会有所帮助。

【讨论】:

以上是关于没有 services-config.xml 的 Flash RemoteObject Weborb 连接(没有 Flex)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 没有创建没有错误的记录

linux下tomcat启动没有日志,没有进程,没有报错,没有监听端口

PLSQL提示没有登录ORA-01012:没有登录

PLSQL提示没有登录ORA-01012:没有登录

程序崩溃, 没有任何提示!没有异常!没有任何错误日志。。。

没有电脑没有手机没有网络没有爱情——纪念我的电子科技大学九里堤校区大一生活