我试图通过从我自己的事件中调用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");
答案 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;
}