在flex 3和flex 4版本之间的Httpservice神秘网址更改

时间:2012-04-20 13:49:07

标签: actionscript-3 flex flex4 flex3

我有一个应用程序从flex 3迁移到Flex 4。 我没有改变代码的功能。我使用HTTPService调用struts动作:

var service:HTTPService = new HTTPService();
service.url=  "someAction.do"
service.send(params);

问题在于,当我使用Flash Builder 3生成的flex 3 swf时,没有问题,操作就像我想要的那样发送到url / someUrl

localhost:8080/someurl/someAction.do

如果我在相同的情况下使用flex 4 swf,则在同一个war存档中。 我唯一改变的是swf ,url还会包含导致问题的swf路径

localhost:8080/someurl/path/to/swf/someAction.do

任何人都知道造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

documentation for the rootURL property表明这是Flex 4的预期行为:

  

...,根据运行此应用程序的SWF的位置自动计算相对URL。 ...

可能的解决方案是使用rootURL属性,但这也需要使用可能引入其他问题的Flex服务器代理。