Adobe BlazeDS项目适用于PC但不适用于Mac

时间:2011-04-02 02:35:56

标签: flex macos adobe blazeds amf

我有一个使用BlazeDS的Flash Builder 4(Flex)项目。它被检入svn repo。我在PC上运行良好。但是,当我在Mac上签出相同的项目,相应地更正目录引用时,我遇到了问题。一切都编译得很好但是当我运行系统时,Flex组件永远不会将请求(通过AMF)转发到服务器。我还可以看到,如果我在PC上加载应用程序并使用Fiddler进行监控(当然,我正在访问基于Mac的网站),我就不会有任何请求。

我已进入登录服务,该服务应将请求转发给服务器。有趣的是当我用调试器单步进入代码时。最后我在mx.rpc.AsychRequest.as

中找到了这个Adobe代码
override public function fault(errMsg:ErrorMessage, msg:IMessage):void  {
    [irrelevant clipped code]
    resp.fault(MessageFaultEvent.createEvent(errMsg));

当我查看errMsg时,它会说:http://localhost:8400//WebContent/messagebroker/amf

端口后面的双/显然不正确,我怀疑/猜测是问题所在。但我不知道它来自哪里。同样,相同的代码在PC上运行良好。默认情况下,服务xml是默认设置:http://{server.name}:{server.port}/{context.root}/messagebroker/amf

如果任何人有一个想法,我全都耳朵!我一直试图让这个在Mac上工作,这样我就可以摆脱我严重征税的虚拟机实例。

更新

我有一些额外的信息。基于James的评论,我去了,我检查了.flexproperties文件的ServerContextRoot。我把它改成了'MyPortal',这是我项目的名字。彻底清洗后,这似乎让我更进一步。但是,现在,当我追溯到代码时,我收到以下错误消息:

目标“MTSecurity”要么不存在,要么目的地没有定义频道(并且应用程序没有定义任何默认频道。)

我认为,事实上,渠道确实存在但需要验证。稍微不同的是,我仍然感到困惑,为什么这与我PC上的其他根值有关。我唯一的猜测是,我注意到浏览器正在进行大量的缓存。也许工作版仍然在缓存中?最后,我还注意到ServerContextRoot的值不符合“项目属性”的“Web项目设置”值。我不确定实际设置的值如何或使用Properties版本的位置。

0 个答案:

没有答案