0

アプリケーションの 1 つに、Flex 4 (AIR) で parseley 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 サービス呼び出しですべてが問題ないことを確認しました。誰でも私を助けてもらえますか?

4

1 に答える 1

1

resultコマンドがエラーをスローしているため、メソッドが呼び出されていないことがあります。

parsley コマンドの失敗メソッドはerrorではなくと呼ばれるfaultため、faultメソッドが呼び出されることはありません。

faultメソッドの名前errorを に変更し、変更があるかどうかを確認します。

于 2012-07-01T13:50:18.093 に答える