如何获得OFBiz服务的所有产品清单?

时间:2015-09-02 16:25:42

标签: java service product ofbiz

我试图通过从我自己的事件中调用java服务来获取OFBiz系统中可用的所有产品的列表。我找到了一个服务,它将返回一个产品,具体取决于我之前传递给服务的productId。我的问题是,我无法找到一个服务,在没有将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 个答案:

答案 0 :(得分: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;  
}