Xml HTTPService中的动态url不工作
您好,提前感谢您提供的任何帮助 我的AIR应用程序查询Web服务以查看要构建的组件。返回的XML示例如下:Xml HTTPService中的动态url不工作,xml,apache-flex,flex3,mxml,httpservice,Xml,Apache Flex,Flex3,Mxml,Httpservice,您好,提前感谢您提供的任何帮助 我的AIR应用程序查询Web服务以查看要构建的组件。返回的XML示例如下: <item> <type>EventList</type> <url><![CDATA[http://dashboard/cgi-bin/dataService.pl?type=ManagedEvents]]></url> <index>4</index> <title>In
<item>
<type>EventList</type>
<url><![CDATA[http://dashboard/cgi-bin/dataService.pl?type=ManagedEvents]]></url>
<index>4</index>
<title>Index 4 eventlist</title>
<description>Application 4</description>
</item>
其中,组件getData中的:
public function getData(url:String):void {
ws = url;
dataService.send();
}
及
调用send()后,会出现以下错误:
[FaultEvent fault=[RPC faultString=“URL必须在useProxy设置为false的情况下指定。”faultCode=“Client.URLRequired”faultDetail=“null”]messageId=null type=“fault”bubbles=false可取消=true eventPhase=2]
关于我做错了什么有什么线索吗?(再次感谢您的帮助)
TB这取决于您如何定义ws变量。它前面应该有一个[Bindable]元标记,以指定它可以用于数据绑定。例如:
[Bindable]
public var ws:String;
当然,您也可以显式设置HTTPService对象的url,而不是使用数据绑定,如下所示:
public function getData(url:String):void {
dataService.url = url;
dataService.send();
}
希望这有帮助。数据绑定通过事件系统异步工作,因此,在更改bindable变量后,绑定会在未指定的时间内发生。在您的情况下,调用dataService.send()时ws的更新事件尚未触发。这就是为什么直接修改url属性有效,而绑定无效
如果您需要使用数据绑定,因为您的应用程序设计阻止您直接访问服务,我建议您使用由您控制的getter和setter函数绑定到属性。我有一个crossdomain.xml文件可以工作。在上面,ws被定义为
[Bindable]公共变量ws:String代码>有趣的是,如果我将上面的getData更改为:getData(url:String):void{dataService.url=item;dataService.send();},它就可以工作了。这是否意味着{ws}存在数据绑定问题?
[Bindable]
public var ws:String;
public function getData(url:String):void {
dataService.url = url;
dataService.send();
}