3

私はここ数時間、「Apache Ofbizクックブック」と「ApacheOfbiz開発:初心者向けチュートリアル」でJavaメソッドからOfbizのDispatchContextを取得する方法を見つけようとしてきました。Ruth Hoffmanのクックブックには、「コンテキストパラメータを準備する」p.43とだけ言っているこのコードは含まれていません。サービスまたはイベントを登録するときにDispatchContextを取得する方法は理解できますが、Javaからどのように取得しますか?ありがとう。

TomcatのRESTWebサービスのサーバー側からOfbizで定義したOfbizエンティティ/テーブルにデータを入力しようとしています。

    GenericDelegator delegator = ctx.getDelegator();
    GenericValue myTable = delegator.makeValue("MyTable");
    myTable.set("name", myTableAsJson.getString("name"));


    try {
        delegator.store(offering);
    } catch(Exception e) {

    }
4

2 に答える 2

5

Javaメソッド/イベントでは、次のコードスニペットを使用してdispatachコンテキストをフェッチできます。

GenericDispatcher dispatcher = (GenericDispatcher) request.getAttribute("dispatcher");
DispatchContext dctx =  dispatcher.getDispatchContext();

Javaメソッド/イベントでは、次のコードスニペットを使用して任意のサービスを呼び出すことができます。

GenericDispatcher dispatcher = (GenericDispatcher) request.getAttribute("dispatcher");
dispatcher.runSync("SERVICE_NAME", context);

ここで、コンテキストは、サービスに必要なIN/IN-OUTパラメータのマップです。

Javaメソッド/イベントからサービスを呼び出すために、ディスパッチコンテキストを一時停止する必要はありません。サービス名とコンテキストのみが必要です。

于 2012-11-12T18:24:30.087 に答える