2010-10-01 32 views
1

我有一个通过“数据服务”选项卡在Flash Builder中定义的HTTP服务。我现在有一个绝对的URL。如何在Flex中配置我的数据服务以调用与SWF所服务的域相同的域?

我真正想要的是不定义包含域名的路径 - 我希望服务只需调用与SWF所服务的域名在同一域中的绝对路径...可以我这样做?当我摆脱基本URL并给出绝对URL路径(例如/ roster/deleteMember)时,Flex Builder抱怨“文件不存在”。那么,它当然不存在,它不是一个文件,它是一个服务调用的URL--文件系统上没有相应的文件。

任何人都可以告诉我该怎么做?如果我更改域名,它会清除方法的所有参数定义,因此我必须返回到每个方法并再次设置参数。而不是头痛。

现在,我原以为这会奏效。来自Adobe的文档:


配置文件有时包含特殊的{server.name}和{server.port}令牌。根据从Web服务器通过Web浏览器访问SWF文件时的URL,这些令牌将被替换为服务器名称和端口值。类似地,一个特殊的{context.root}令牌被web应用程序的实际上下文根替换。


所以,如果你指定端点 的http:// {} server.name:在运行时自动{server.port}这/ {context.root},然后 ,该变量通过设置取决于你已经下载的应用程序的FlashPlayer。

听起来不错...但它不适合我。我甚至无法在Flash Builder数据服务工具中设置这些值。这里是我得到的记录。

http://screencast.com/t/MTk0NzNiYzY

+0

以下是Data Services窗口显示的服务配置。我会在内部发布这个问题,但Stack Overflow只会让我发布一个链接,没有图像,因为我是一个新的Stack Overflow用户。 http://i.imgur.com/JTpPA.png – Josh 2010-10-01 18:01:52

回答

0

我不知道这是可能从DS窗口。

如果你是在代码中做的,你可以使用Application.application.url来获取swf的加载位置。

+0

这可以工作。我最终做的是传递一个FlashVar,它是我的服务URL的当前完全合格的路径名,以及仅用于服务URL的Flash应用程序。 – Josh 2011-04-20 18:26:35