我的Cairngorm程序在允许Cairngorm的ServiceLocator开始使用相同的RemoteObject来获取业务数据之前,对RemoteObject进行一些初步认证。使用Flex Builder,一切正常,但我需要一个Ant构建。 Ant mxmlc任务编译好一切,但在运行时,生成的代码在Cairngorm的RemoteObjects类的getService()方法失败,因为它无法找到服务。
这可能是由于Cairngorm代码在Ant驱动的编译中有不同的链接?在-dump-config产生的文件中(这个文件很好,在命令行中与mxmlc一起使用)对Cairngorm swc的唯一引用是在这个元素中:
<library-path> <path-element>\path\to\directory\containing\Cairngorm.swc</path-element> </library-path>
我的build.xml中的相应元素是
<compiler.library-path dir="${basedir}" append="true"> <include name="libs"/> </compiler.library-path>
除了在FB输出和build.xml中将static-link-runtime-shared-libraries显式设置为true之外,我看不到会影响Cairngorm如何链接的任何内容。也许我的连接理论都错了?但是当从同一个SWF中的其他地方访问同一个RemoteObject时,还有什么可以使Cairngorm的远程访问失败?
答案 0 :(得分:0)
听起来ANT版本可能缺少 -services 标志,以便在配置RemoteObject端点的 services-config.xml 文件中进行编译。
在FlexBuilder中,查看项目属性并导航到Flex Compiler窗格。您应该看到“Additional Compiler Arguments”字段。确保将这些相同的附加参数传递给ANT编译任务。您正在寻找类似“-services services-config.xml”
的内容