I am not sure I follow. All what I want from this ofbiz wrapper to obtain credential in order to complete adding new product. This ofbiz wrapper is being called thru soap and has to be able to login and process new product.

BJ Freeman wrote:
I am assuming that you have read code that already does this operations
to pick up what you not doing.


BJ Freeman sent the following on 9/4/2008 5:05 PM:
did you check each return Map to check for a "success" message

Jacek Wagner sent the following on 9/4/2008 3:01 PM:
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