我正在使用带有Flex 4(AIR)的parsley 3作为我的一个应用程序。当我进行远程调用时,我将调度一个事件,直到命令类,然后到Java层服务。直到这里一切正常。 Java层进行一些调用等并返回结果,但我的结果处理程序(或错误处理程序)没有得到控制权。
Project
bin-debug
libs
parsley-core-3.0.0.swc
parsley-flex-3.0.0.swc
parsley-xml-3.0.0.swc
spicelib-commands-3.1.1.swc
spicelib-reflect-3.0.0.swc
spicelib-util-3.1.0.swc
spicelib-xml-mapper-3.0.2.swc
Main.mxml
ProjectEvent.as
LoadProjectsCommand
ProjectPM.as
和其他东西。
命令类获得控制权并且还能够调用java服务。代码如下:
package
{
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.AsyncToken;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.remoting.RemoteObject;
/*http://www.spicefactory.org/parsley/docs/3.0/manual/managedcommands.php*/
public class LoadProjectsCommand
{
[Inject(id="projectRemoteService")]
public var projectRemoteService:RemoteObject;
[Inject]
public var model:ProjectScreenPM;
public function execute(event:ProjectEvent):AsyncToken
{
return projectRemoteService.getAllProjectsWithSprintsInSystem() as AsyncToken;
}
public function result(event:ResultEvent):void
{
Alert.show("Result");
}
public function fault(event:FaultEvent):void
{
Alert.show("Fault in retrieving projects","Error");
}
}
}
我已经验证了Java服务调用中的每一件事都很好。有人可以帮帮我吗?
答案 0 :(得分:1)
您可能会发现未调用result
方法,因为该命令引发了错误。
parsley命令中的失败方法称为error
,而不是fault
,因此永远不会调用fault
方法。
将fault
方法重命名为error
,看看是否有所改变。