/ /どのようにOFBizサービスからすべての製品のリストを取得するには? - java、サービス、製品、ofbiz

どのようにOFBizサービスからすべての製品のリストを取得するには? - java、サービス、製品、ofbiz

私はすべての製品のリストを取得しようとしています私自身のイベントからJavaサービスを呼び出すことによって、OFBizシステムで利用できます。私は前にサービスに渡した製品IDに応じて私に1つの製品を返すサービスを見つけました。私の問題は、本当にproductIdを渡すことなくすべての製品を返すサービスを見つけることができないということです。

私の現在のサービスコールのコード例を次に示します。

    String param2 = "10000-001";
Map input = UtilMisc.toMap("productId", param2);
Map syncResults = null;
try {
syncResults = dispatcher.runSync("getProduct", input);
} catch (GenericServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

GenericValue test = (GenericValue) syncResults.get("product");

回答:

回答№1は1

目的に合ったサービスを利用できない場合は、サービスを作成するだけです。この場合、次のような記述ができます。

    public static Map<String, Object> getAllProducts(DispatchContext dctx,
Map<String, ? extends Object> context) {
Map<String, Object> results = ServiceUtil.returnSuccess();
Delegator delegator = dctx.getDelegator();
//This will get all the products from the entity named Product
List<GenericValue> productList = delegator.findByAnd("Product");
//Do your stuff
return results;
}