Simple services don't provide exceptions.
They do return a Map that has error messages in it.
https://demo.hotwaxmedia.com/webtools/control/availableServices?sel_service_name=createProduct
take a look at the Out parameters
Note this is for
org/ofbiz/product/product/ProductServices.xml
and uses a map and runsync
Jacek Wagner sent the following on 9/4/2008 9:55 AM:
> The following is an ofbiz wrapper that performs three tasks: login, get
> description for a given product, create new product
>
> When run from webtools (performs successfully all three tasks. when
> called as a soap performs successfully login & get descriptions for a
> given product. It also run thru create new product, but does not create
> new product neither throw any exception(s).
>
> Wondering Jacek
>
>
> public static Map createLHSProduct(DispatchContext dctx, Map context) {
> GenericDelegator delegator = dctx.getDelegator();
>
> try {
> String productId;
> String loginuser;
> String loginpassword;
> String productType;
> String productName;
>
> // get the input parameter
>
> productId = (String) context.get("productId");
> Debug.logInfo("productId = " + productId, module);
> loginuser = (String) context.get("loginuser");
> Debug.logInfo("loginuser = " + loginuser,
> module); //prints to the console or console.log
> loginpassword = (String) context.get("loginpassword");
> Debug.logInfo("loginpassword = " + loginpassword,
> module); //prints to the console or console.log
> productType = (String) context.get("productTypeId");
> Debug.logInfo("productTypeId = " + productType, module);
> //prints to the console or console.log
> productName = (String) context.get("internalName");
> Debug.logInfo("internalName = " + productName, module);
> //prints to the console or console.log
>
> // login
> context.put("login.username", loginuser);
> context.put("login.password", loginpassword);
> Map loginresult = LoginServices.userLogin(dctx, context);
> Debug.logInfo("loginresult = " + loginresult, module);
> //prints to the console or console.log
>
> //get description for a given product
> Map queryResult = delegator.findByPrimaryKey("Product",
> UtilMisc.toMap("productId", productId));
> Map result = UtilMisc.toMap("description", productId);
> if (queryResult != null) {
> result.put("description", queryResult.get("description"));
> }
>
> //create new product
> context.remove("productId");
> context.put("productTypeId", productType);
> context.put("internalName", productName); Map
> productresult = SimpleMethod.runSimpleService(
> "org/ofbiz/product/product/ProductServices.xml",
> "createProduct", dctx, context);
>
> return result;
>
> } catch (GenericEntityException ex) {//required if you use
> delegator in Java
> return ServiceUtil.returnError(ex.getMessage());
> } catch (Exception ex) {//required if you use delegator in Java
> return ServiceUtil.returnError(ex.getMessage());
> }
> }
>
>
>
>