Thank you for the tip. The return map includes error "You must be logged in to complete the Create an Product process." I hoped that by calling LoginServices.userLogin.....with admin/ofbiz (second task) I am receiving all credentials I need to complete the task.
Jacek

BJ Freeman wrote:
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());
       }
   }






Reply via email to