Error on Tax Authorities & Global GL Settings Screens

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
33 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

BJ Freeman
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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

Jacek Wagner
In reply to this post by BJ Freeman
Thank you very much for your help. Yes I did

{responseMessage=success,
userLogin=[GenericEntity:UserLogin][createdStamp,2008-07-14
09:00:22.0(java.sql.Timestamp)][createdTxStamp,2008-07-14
09:00:21.0(java.sql.Timestamp)][currentPassword,47ca69ebb4bdc9ae0adec130880165d2cc05db1a(java.lang.String)][disabledDateTime,null()][enabled,Y(java.lang.String)][hasLoggedOut,N(java.lang.String)][isSystem,null()][lastCurrencyUom,null()][lastLocale,null()][lastUpdatedStamp,2008-08-28
12:20:41.0(java.sql.Timestamp)][lastUpdatedTxStamp,2008-08-28
12:20:41.0(java.sql.Timestamp)][partyId,admin(java.lang.String)][passwordHint,null()][successiveFailedLogins,0(java.lang.Long)][userLoginId,admin(java.lang.String)]}

BJ Freeman wrote:

> 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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

Jacek Wagner
In reply to this post by BJ Freeman
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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

BJ Freeman
there is code already that you can follow the flow.
it save me having to explain what is already used.
you can follow the flow of that code to write you wrapper.

for instance you are trying to deal with a product.
so if you follow the code flow that creates a product in ofbiz
you will have a template on how to do this in your wrapper.


Jacek Wagner sent the following on 9/4/2008 5:41 PM:

> 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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

Jacek Wagner
It is my fault I did not communicate well enough what i wanted. Here is
my final attempt.

This is what i want : add new product utilizing remote access via SOAP

This is what i have: ofbiz has service "createProduct" that requires
auth="true"

This is what i know: ofbiz services are not Web_services

You suggested in previous exchange  to created a wrapper in ofbiz (ofbiz
wrapper will call createProduct service ) that can be called using soap.

I created ofbiz wrapper and when i test thru the webtools (used login
admin/ofbiz) it let me add new product, but when i call from the remote
client i am getting a message that i have to login to complete transaction.
The question is how to login within ofbiz wrapper before calling
createProduct implementation.
 
Below the code that logins successfully, but does not pass credentials
to the service

public static Map createLHSProduct(DispatchContext dctx, Map context) {
       GenericDelegator delegator = dctx.getDelegator();

  try {
     String loginuser;
     String loginpassword;
     String productType;
     String productName;

   // get the input parameter

   loginuser = (String) context.get("loginuser");
   Debug.logInfo("loginuser = " + loginuser, module);  
   loginpassword = (String) context.get("loginpassword");
   Debug.logInfo("loginpassword = " + loginpassword,module);  
   productType = (String) context.get("productTypeId");
   Debug.logInfo("productTypeId = " + productType,module);  
   productName = (String) context.get("internalName");
   Debug.logInfo("internalName = " + productName,module);

// login
     context.put("login.username", loginuser);
     context.put("login.password", loginpassword);
     Map loginresult = LoginServices.userLogin(dctx, context);
     Debug.logInfo("loginresult = " + loginresult,module);

//create new product
      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) {
         return ServiceUtil.returnError(ex.getMessage());
   } catch (Exception ex) {
         return ServiceUtil.returnError(ex.getMessage());
       }
   }



BJ Freeman wrote:

> there is code already that you can follow the flow.
> it save me having to explain what is already used.
> you can follow the flow of that code to write you wrapper.
>
> for instance you are trying to deal with a product.
> so if you follow the code flow that creates a product in ofbiz
> you will have a template on how to do this in your wrapper.
>
>
> Jacek Wagner sent the following on 9/4/2008 5:41 PM:
>  
>> 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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

BJ Freeman
there is supporting code for the xml that also has to be introduced.
not sure it will work in 4.0.
if you want Trunk features it is best to use the Trunk.


Jacek Wagner sent the following on 9/5/2008 10:57 AM:

> It is my fault I did not communicate well enough what i wanted. Here is
> my final attempt.
>
> This is what i want : add new product utilizing remote access via SOAP
>
> This is what i have: ofbiz has service "createProduct" that requires
> auth="true"
>
> This is what i know: ofbiz services are not Web_services
>
> You suggested in previous exchange  to created a wrapper in ofbiz (ofbiz
> wrapper will call createProduct service ) that can be called using soap.
>
> I created ofbiz wrapper and when i test thru the webtools (used login
> admin/ofbiz) it let me add new product, but when i call from the remote
> client i am getting a message that i have to login to complete transaction.
> The question is how to login within ofbiz wrapper before calling
> createProduct implementation.
>
> Below the code that logins successfully, but does not pass credentials
> to the service
>
> public static Map createLHSProduct(DispatchContext dctx, Map context) {
>       GenericDelegator delegator = dctx.getDelegator();
>
>  try {
>     String loginuser;
>     String loginpassword;
>     String productType;
>     String productName;
>
>   // get the input parameter
>
>   loginuser = (String) context.get("loginuser");
>   Debug.logInfo("loginuser = " + loginuser, module);    loginpassword =
> (String) context.get("loginpassword");
>   Debug.logInfo("loginpassword = " + loginpassword,module);    
> productType = (String) context.get("productTypeId");
>   Debug.logInfo("productTypeId = " + productType,module);    productName
> = (String) context.get("internalName");
>   Debug.logInfo("internalName = " + productName,module);
> // login
>     context.put("login.username", loginuser);
>     context.put("login.password", loginpassword);
>     Map loginresult = LoginServices.userLogin(dctx, context);
>     Debug.logInfo("loginresult = " + loginresult,module);
> //create new product
>      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) {
>         return ServiceUtil.returnError(ex.getMessage());
>   } catch (Exception ex) {
>      return ServiceUtil.returnError(ex.getMessage());
>       }
>   }
>
>
>
> BJ Freeman wrote:
>> there is code already that you can follow the flow.
>> it save me having to explain what is already used.
>> you can follow the flow of that code to write you wrapper.
>>
>> for instance you are trying to deal with a product.
>> so if you follow the code flow that creates a product in ofbiz
>> you will have a template on how to do this in your wrapper.
>>
>>
>> Jacek Wagner sent the following on 9/4/2008 5:41 PM:
>>  
>>> 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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

BJ Freeman
oops replied to wrong  eamil.

BJ Freeman sent the following on 9/5/2008 11:57 AM:

> there is supporting code for the xml that also has to be introduced.
> not sure it will work in 4.0.
> if you want Trunk features it is best to use the Trunk.
>
>
> Jacek Wagner sent the following on 9/5/2008 10:57 AM:
>> It is my fault I did not communicate well enough what i wanted. Here is
>> my final attempt.
>>
>> This is what i want : add new product utilizing remote access via SOAP
>>
>> This is what i have: ofbiz has service "createProduct" that requires
>> auth="true"
>>
>> This is what i know: ofbiz services are not Web_services
>>
>> You suggested in previous exchange  to created a wrapper in ofbiz (ofbiz
>> wrapper will call createProduct service ) that can be called using soap.
>>
>> I created ofbiz wrapper and when i test thru the webtools (used login
>> admin/ofbiz) it let me add new product, but when i call from the remote
>> client i am getting a message that i have to login to complete transaction.
>> The question is how to login within ofbiz wrapper before calling
>> createProduct implementation.
>>
>> Below the code that logins successfully, but does not pass credentials
>> to the service
>>
>> public static Map createLHSProduct(DispatchContext dctx, Map context) {
>>       GenericDelegator delegator = dctx.getDelegator();
>>
>>  try {
>>     String loginuser;
>>     String loginpassword;
>>     String productType;
>>     String productName;
>>
>>   // get the input parameter
>>
>>   loginuser = (String) context.get("loginuser");
>>   Debug.logInfo("loginuser = " + loginuser, module);    loginpassword =
>> (String) context.get("loginpassword");
>>   Debug.logInfo("loginpassword = " + loginpassword,module);    
>> productType = (String) context.get("productTypeId");
>>   Debug.logInfo("productTypeId = " + productType,module);    productName
>> = (String) context.get("internalName");
>>   Debug.logInfo("internalName = " + productName,module);
>> // login
>>     context.put("login.username", loginuser);
>>     context.put("login.password", loginpassword);
>>     Map loginresult = LoginServices.userLogin(dctx, context);
>>     Debug.logInfo("loginresult = " + loginresult,module);
>> //create new product
>>      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) {
>>         return ServiceUtil.returnError(ex.getMessage());
>>   } catch (Exception ex) {
>>      return ServiceUtil.returnError(ex.getMessage());
>>       }
>>   }
>>
>>
>>
>> BJ Freeman wrote:
>>> there is code already that you can follow the flow.
>>> it save me having to explain what is already used.
>>> you can follow the flow of that code to write you wrapper.
>>>
>>> for instance you are trying to deal with a product.
>>> so if you follow the code flow that creates a product in ofbiz
>>> you will have a template on how to do this in your wrapper.
>>>
>>>
>>> Jacek Wagner sent the following on 9/4/2008 5:41 PM:
>>>  
>>>> 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 | Threaded
Open this post in threaded view
|

Re: SOAP - ofbiz wrapper

BJ Freeman
In reply to this post by Jacek Wagner
I believe you want someone to help you code you wrapper.
I hope you find someone to do that for you on the list.

Jacek Wagner sent the following on 9/5/2008 10:57 AM:

> It is my fault I did not communicate well enough what i wanted. Here is
> my final attempt.
>
> This is what i want : add new product utilizing remote access via SOAP
>
> This is what i have: ofbiz has service "createProduct" that requires
> auth="true"
>
> This is what i know: ofbiz services are not Web_services
>
> You suggested in previous exchange  to created a wrapper in ofbiz (ofbiz
> wrapper will call createProduct service ) that can be called using soap.
>
> I created ofbiz wrapper and when i test thru the webtools (used login
> admin/ofbiz) it let me add new product, but when i call from the remote
> client i am getting a message that i have to login to complete transaction.
> The question is how to login within ofbiz wrapper before calling
> createProduct implementation.
>
> Below the code that logins successfully, but does not pass credentials
> to the service
>
> public static Map createLHSProduct(DispatchContext dctx, Map context) {
>       GenericDelegator delegator = dctx.getDelegator();
>
>  try {
>     String loginuser;
>     String loginpassword;
>     String productType;
>     String productName;
>
>   // get the input parameter
>
>   loginuser = (String) context.get("loginuser");
>   Debug.logInfo("loginuser = " + loginuser, module);    loginpassword =
> (String) context.get("loginpassword");
>   Debug.logInfo("loginpassword = " + loginpassword,module);    
> productType = (String) context.get("productTypeId");
>   Debug.logInfo("productTypeId = " + productType,module);    productName
> = (String) context.get("internalName");
>   Debug.logInfo("internalName = " + productName,module);
> // login
>     context.put("login.username", loginuser);
>     context.put("login.password", loginpassword);
>     Map loginresult = LoginServices.userLogin(dctx, context);
>     Debug.logInfo("loginresult = " + loginresult,module);
> //create new product
>      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) {
>         return ServiceUtil.returnError(ex.getMessage());
>   } catch (Exception ex) {
>      return ServiceUtil.returnError(ex.getMessage());
>       }
>   }
>
>
>
> BJ Freeman wrote:
>> there is code already that you can follow the flow.
>> it save me having to explain what is already used.
>> you can follow the flow of that code to write you wrapper.
>>
>> for instance you are trying to deal with a product.
>> so if you follow the code flow that creates a product in ofbiz
>> you will have a template on how to do this in your wrapper.
>>
>>
>> Jacek Wagner sent the following on 9/4/2008 5:41 PM:
>>  
>>> 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 | Threaded
Open this post in threaded view
|

variables reset

Jacek Wagner
In reply to this post by BJ Freeman
All,

What would be the best way to reset variables in ofbiz.

I wrote apps that helps selling LHS services. The key problem I am
having is to reset some of the used variables to be sure  they do not
affect the next sales cycle.

Jacek

Reply | Threaded
Open this post in threaded view
|

Re: variables reset

Adrian Crum
We're going to need more information. Please provide some code snippets
or something.

-Adrian

Jacek Wagner wrote:

> All,
>
> What would be the best way to reset variables in ofbiz.
>
> I wrote apps that helps selling LHS services. The key problem I am
> having is to reset some of the used variables to be sure  they do not
> affect the next sales cycle.
>
> Jacek
>
>
Reply | Threaded
Open this post in threaded view
|

Re: variables reset

Jacek Wagner
I buld an apps that has 15 screen widgets and a number of screen forms
and ftls. In the third screen widget in the logic sequence,
BirthdayPartyConfirmation  I <set field="partyId"
from-field="parameters.partyId" to-scope="user"/>  see below screen

    <screen name="BirthdayPartyConfirmation">    
        <section>
            <actions>
                <set field="titleProperty" value="Birthday Party
Confirmation"/>
                 <set field="partyId" from-field="parameters.partyId"
to-scope="user"/>                
            </actions>
            <widgets>
                <decorator-screen name="main-decorator"
location="component://registration/widget/CommonScreens.xml">
                    <decorator-section name="body">
                        <container><label
style="head1">${uiLabelMap.${titleProperty}}</label></container>                                              

                        <include-form name="BirthdayPartyConfirmation"
location="component://registration/webapp/registration/customer/RegistrationForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

The problem is to reset partyId to null at the very end. The only way I
was able to do it was by creating the very last screen widget just  to
reset partyId. I could not do it in java written service and bsh service
either.

    <screen name="BirthdayPartyCompleted">    
        <section>
            <actions>
                <set field="titleProperty" value="Birthday Party
Completed"/>      
                <set field="orderId" value=""
to-scope="user"/>                                        
            </actions>
            <widgets>
                <decorator-screen name="main-decorator"
location="component://registration/widget/CommonScreens.xml">
                    <decorator-section name="body">
                        <container><label
style="head1">${uiLabelMap.${titleProperty}}
</label></container>                                            
                        <include-form name="BirthdayPartyCompleted"
location="component://registration/webapp/registration/customer/RegistrationForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>


Adrian Crum wrote:

> We're going to need more information. Please provide some code
> snippets or something.
>
> -Adrian
>
> Jacek Wagner wrote:
>> All,
>>
>> What would be the best way to reset variables in ofbiz.
>>
>> I wrote apps that helps selling LHS services. The key problem I am
>> having is to reset some of the used variables to be sure  they do not
>> affect the next sales cycle.
>>
>> Jacek
>>
>>

Reply | Threaded
Open this post in threaded view
|

Form Widget question

Jacek Wagner
All,

Is it possible to prepopulate a field with the table content and be able
to override it if necessary in the Form Widget?

Note that <text default-value=.../> cannot get data thru entry-name
mechanizm.

Jacek
Reply | Threaded
Open this post in threaded view
|

Re: Form Widget question

Jacques Le Roux
Administrator
Could you elaborate a bit more please ?
Which table are you talking about, an entity ?

For <text default-value=.../>  you can use the ${} syntax to have dynamic data filling in (and what is entry-name mechanizm ?)

Jacques

From: "Jacek Wagner" <[hidden email]>

> All,
>
> Is it possible to prepopulate a field with the table content and be able
> to override it if necessary in the Form Widget?
>
> Note that <text default-value=.../> cannot get data thru entry-name
> mechanizm.
>
> Jacek
>
12