2011-02-26 73 views
0

我想在我的Flex 4应用程序中使用Webservice组件。Actionscript Webservice设置结果格式为e4x

我需要在Actioncript中使用它,而不是使用MXML标签。

我能够成功调用WSDL操作,但resultFormat默认为Object。

如何将其设置为e4x?

var lookupService:WebService = new WebService(); 
     lookupService.wsdl =url; 
     lookupService.loadWSDL(); 

     lookupService.doLookup.addEventListener(ResultEvent.RESULT, lookupResultHandler); 
     lookupService.doLookup.addEventListener(FaultEvent.FAULT, faultHandler); 
     lookupService.doLookup(lookupString); 

我试图通过

lookupService.resultFormat = "e4x"; 

设置格式但是,这是行不通的。我这样做的时候甚至没有通话。

您可以提供您的建议,使用AS3实现这个?

回答

0

如果你看看两个webservice类,你会意识到resultFormat不是它们中的任何一个属性。结果集是operations阵列上的一个属性。

如果这没有帮助,你必须量化“不工作”。什么不起作用?你得到编译错误吗?你是否遇到运行时错误?数据没有被返回?数据是否不以XML格式返回?

您可能需要在MXML中进行设置并解析生成的ActionScript以找出适当的AS3语法。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/soap/WebService.html

+1

感谢您的意见。创建一个mx.rpc.soap.Operation的实例,并将resultType设置为e4x。然后将该操作添加到Object数组中,并将键作为操作名称。最后将数组添加到mx.rpc.AbstractService.operations。 – jobinbasani 2011-02-27 14:36:18

+0

mx.rpc.Operation是我在写这篇文章时寻找的'类'。我知道这样的事情一定存在,我只是不知道名字会是什么。很高兴我帮你找到了解决方案。 – JeffryHouser 2011-02-27 21:03:07