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()); > } > } > > > >