Hi All, Any pointes are much appreciated.
OFBiz Version : 17.04.03 Summary: I'm trying to use Service ECA on return of a Service method to invoke another Service method, i'm able to successfully call a service that is defined using auto-attributes, However when i invoke a service that is defined using non-auto attributes i get an error message > Error running the simple-method: java.util.HashMap cannot be cast to org.apache.ofbiz.entity.GenericValue, Is this an expected behavior or am i missing something? Details: Scenario 1: Successfully able to invoke a service updateProductCategory with set operation (that is defined using auto-attributes), from the return of service createProductCategory SECA Definition: ----------------------- <eca service="createProductCategory" event="return"> <condition field-name="productCategoryId" operator="is-not-empty"/> <set field-name="description" value="Updated" /> <action service="updateProductCategory" mode="sync"/> </eca> Called Service Definition: (auto-attributes) ----------------------------------- <service name="updateProductCategory" default-entity-name="ProductCategory" engine="simple" location="component://product/minilang/product/category/CategoryServices.xml" invoke="updateProductCategory" auth="true"> <description>Update an ProductCategory</description> <auto-attributes include="pk" mode="IN" optional="false"/> <auto-attributes include="nonpk" mode="IN" optional="true"/> <override name="productCategoryTypeId" optional="false"/> </service> Scenario 1: Invoking a service duplicateProductCategory with set Operation (that is defined using non-auto-attributes), from the return of the same service as above i.e. createProductCategory results in an error > Error in simple-method [Duplicate a ProductCategory [file:/home/clintu2/Downloads/git/integrin_enterprise/com/integrin/erp/erp-17.12/applications/product/minilang/product/category/CategoryServices.xml#duplicateProductCategory]]: Error running the simple-method: java.util.HashMap cannot be cast to org.apache.ofbiz.entity.GenericValuenull SECA Definition: ----------------------- <eca service="createProductCategory" event="return"> <condition field-name="productCategoryId" operator="is-not-empty"/> <set field-name="productCategoryId" value="R${productCategoryId}" /> <set field-name="oldProductCategoryId" env-name="productCategoryId" /> <set field-name="duplicateContent" value="Y"/> <set field-name="duplicateParentRollup" value="Y"/> <set field-name="duplicateChildRollup" value="Y"/> <set field-name="duplicateMembers" value="Y"/> <set field-name="duplicateCatalogs" value="Y"/> <set field-name="duplicateFeatureCategories" value="Y"/> <set field-name="duplicateFeatureGroups" value="Y"/> <set field-name="duplicateAttributes" value="Y"/> <set field-name="duplicateRoles" value="Y"/> <action service="duplicateProductCategory" mode="sync"/> </eca> Called Service Definition: (Non auto-attributes) --------------------------------- <service name="duplicateProductCategory" engine="simple" location="component://product/minilang/product/category/CategoryServices.xml" invoke="duplicateProductCategory" auth="true"> <description>Duplicate a Product Category using from oldProductCategoryId to a new productCategoryId</description> <attribute name="productCategoryId" type="String" mode="IN" optional="false"/> <attribute name="oldProductCategoryId" type="String" mode="IN" optional="false"/> <attribute name="duplicateContent" type="String" mode="IN" optional="true"/> <attribute name="duplicateParentRollup" type="String" mode="IN" optional="true"/> <attribute name="duplicateChildRollup" type="String" mode="IN" optional="true"/> <attribute name="duplicateMembers" type="String" mode="IN" optional="true"/> <attribute name="duplicateCatalogs" type="String" mode="IN" optional="true"/> <attribute name="duplicateFeatureCategories" type="String" mode="IN" optional="true"/> <attribute name="duplicateFeatureGroups" type="String" mode="IN" optional="true"/> <attribute name="duplicateAttributes" type="String" mode="IN" optional="true"/> <attribute name="duplicateRoles" type="String" mode="IN" optional="true"/> </service> Result: Scenario 1 succeeded Scenaro 2 Failed While researching the issue i came across the below thread, which suggests that the above isssue is expected for XRPC and SOAP, but wasn't sure this is expected for SECA on service defined with non-auto-attributes |
Administrator
|
Le 02/08/2020 à 05:06, Sakthivel Vellingiri a écrit :
> Hi All, Any pointes are much appreciated. > > OFBiz Version : 17.04.03 > > *Summary:* > I'm trying to use Service ECA on return of a Service method to invoke another Service method, i'm able to successfully call a service that is > defined using auto-attributes, However when i invoke a service that is defined using non-auto attributes i get an error message > Error running the > simple-method: java.util.HashMap cannot be cast to org.apache.ofbiz.entity.GenericValue, Is this an expected behavior or am i missing something? > > *Details:* > * Scenario 1: *Successfully able to invoke a service /updateProductCategory/ with set operation (that is defined using auto-attributes), from the > return of service /createProductCategory/ > SECA Definition: > ----------------------- > <eca service="createProductCategory" event="return"> > <condition field-name="productCategoryId" operator="is-not-empty"/> > <set field-name="description" value="Updated" /> > <action service="updateProductCategory" mode="sync"/> > </eca> > Called Service Definition: (auto-attributes) > ----------------------------------- > <service name="updateProductCategory" default-entity-name="ProductCategory" engine="simple" > location="component://product/minilang/product/category/CategoryServices.xml" invoke="updateProductCategory" auth="true"> > <description>Update an ProductCategory</description> > <auto-attributes include="pk" mode="IN" optional="false"/> > <auto-attributes include="nonpk" mode="IN" optional="true"/> > <override name="productCategoryTypeId" optional="false"/> > </service> > > *Scenario 1: *Invoking a service /duplicateProductCategory with set Operation /(that is defined using non-auto-attributes), from the return of the > *same service as above* i.e. createProductCategory results in an error > Error in simple-method [Duplicate a ProductCategory > [file:/home/clintu2/Downloads/git/integrin_enterprise/com/integrin/erp/erp-17.12/applications/product/minilang/product/category/CategoryServices.xml#duplicateProductCategory]]: > Error running the simple-method: java.util.HashMap cannot be cast to org.apache.ofbiz.entity.GenericValuenull > SECA Definition: > ----------------------- > <eca service="createProductCategory" event="return"> > <condition field-name="productCategoryId" operator="is-not-empty"/> > <set field-name="productCategoryId" value="R${productCategoryId}" /> > <set field-name="oldProductCategoryId" env-name="productCategoryId" /> > <set field-name="duplicateContent" value="Y"/> > <set field-name="duplicateParentRollup" value="Y"/> > <set field-name="duplicateChildRollup" value="Y"/> > <set field-name="duplicateMembers" value="Y"/> > <set field-name="duplicateCatalogs" value="Y"/> > <set field-name="duplicateFeatureCategories" value="Y"/> > <set field-name="duplicateFeatureGroups" value="Y"/> > <set field-name="duplicateAttributes" value="Y"/> > <set field-name="duplicateRoles" value="Y"/> > <action service="duplicateProductCategory" mode="sync"/> > </eca> > Called Service Definition: (Non auto-attributes) > --------------------------------- > <service name="duplicateProductCategory" engine="simple" > location="component://product/minilang/product/category/CategoryServices.xml" invoke="duplicateProductCategory" auth="true"> > <description>Duplicate a Product Category using from oldProductCategoryId to a new productCategoryId</description> > <attribute name="productCategoryId" type="String" mode="IN" optional="false"/> > <attribute name="oldProductCategoryId" type="String" mode="IN" optional="false"/> > <attribute name="duplicateContent" type="String" mode="IN" optional="true"/> > <attribute name="duplicateParentRollup" type="String" mode="IN" optional="true"/> > <attribute name="duplicateChildRollup" type="String" mode="IN" optional="true"/> > <attribute name="duplicateMembers" type="String" mode="IN" optional="true"/> > <attribute name="duplicateCatalogs" type="String" mode="IN" optional="true"/> > <attribute name="duplicateFeatureCategories" type="String" mode="IN" optional="true"/> > <attribute name="duplicateFeatureGroups" type="String" mode="IN" optional="true"/> > <attribute name="duplicateAttributes" type="String" mode="IN" optional="true"/> > <attribute name="duplicateRoles" type="String" mode="IN" optional="true"/> > </service> > > *Result:* > Scenario 1 succeeded > image.png > > Scenaro 2 Failed > image.png > > While researching the issue i came across the below thread, which suggests that the above isssue is expected for XRPC and SOAP, but wasn't sure > this is expected for SECA on service defined with non-auto-attributes > > http://ofbiz.135035.n4.nabble.com/Re-How-to-pass-org-apache-ofbiz-entity-GenericValue-using-XMLRPC-td4721139.html > As long as you don't call a service through XMLRPC or SOAP, there are no relations. You send use images, but they mainly don't get through with the ASF MLs. 2 solution: you give links to these images or you send us the log with the error. HTH Jacques |
Thanks Jacques, i will take a closer look again, i had encountered a
similar error on another workflow and that ended up being a null error in custom code, I have a hunch, this is probably an error in the custom code as well, i will dig more into this; Sorry about the red herring. regards On Mon, Aug 10, 2020 at 10:26 AM Jacques Le Roux < [hidden email]> wrote: > Le 02/08/2020 à 05:06, Sakthivel Vellingiri a écrit : > > Hi All, Any pointes are much appreciated. > > > > OFBiz Version : 17.04.03 > > > > *Summary:* > > I'm trying to use Service ECA on return of a Service method to invoke > another Service method, i'm able to successfully call a service that is > > defined using auto-attributes, However when i invoke a service that is > defined using non-auto attributes i get an error message > Error running > the > > simple-method: java.util.HashMap cannot be cast to > org.apache.ofbiz.entity.GenericValue, Is this an expected behavior or am i > missing something? > > > > *Details:* > > * Scenario 1: *Successfully able to invoke a service > /updateProductCategory/ with set operation (that is defined using > auto-attributes), from the > > return of service /createProductCategory/ > > SECA Definition: > > ----------------------- > > <eca service="createProductCategory" event="return"> > > <condition field-name="productCategoryId" operator="is-not-empty"/> > > <set field-name="description" value="Updated" /> > > <action service="updateProductCategory" mode="sync"/> > > </eca> > > Called Service Definition: (auto-attributes) > > ----------------------------------- > > <service name="updateProductCategory" > default-entity-name="ProductCategory" engine="simple" > > > location="component://product/minilang/product/category/CategoryServices.xml" > invoke="updateProductCategory" auth="true"> > > <description>Update an ProductCategory</description> > > <auto-attributes include="pk" mode="IN" optional="false"/> > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > <override name="productCategoryTypeId" optional="false"/> > > </service> > > > > *Scenario 1: *Invoking a service /duplicateProductCategory with set > Operation /(that is defined using non-auto-attributes), from the return of > the > > *same service as above* i.e. createProductCategory results in an error > > Error in simple-method [Duplicate a ProductCategory > > > [file:/home/clintu2/Downloads/git/integrin_enterprise/com/integrin/erp/erp-17.12/applications/product/minilang/product/category/CategoryServices.xml#duplicateProductCategory]]: > > > Error running the simple-method: java.util.HashMap cannot be cast to > org.apache.ofbiz.entity.GenericValuenull > > SECA Definition: > > ----------------------- > > <eca service="createProductCategory" event="return"> > > <condition field-name="productCategoryId" operator="is-not-empty"/> > > <set field-name="productCategoryId" value="R${productCategoryId}" /> > > <set field-name="oldProductCategoryId" env-name="productCategoryId" > /> > > <set field-name="duplicateContent" value="Y"/> > > <set field-name="duplicateParentRollup" value="Y"/> > > <set field-name="duplicateChildRollup" value="Y"/> > > <set field-name="duplicateMembers" value="Y"/> > > <set field-name="duplicateCatalogs" value="Y"/> > > <set field-name="duplicateFeatureCategories" value="Y"/> > > <set field-name="duplicateFeatureGroups" value="Y"/> > > <set field-name="duplicateAttributes" value="Y"/> > > <set field-name="duplicateRoles" value="Y"/> > > <action service="duplicateProductCategory" mode="sync"/> > > </eca> > > Called Service Definition: (Non auto-attributes) > > --------------------------------- > > <service name="duplicateProductCategory" engine="simple" > > > location="component://product/minilang/product/category/CategoryServices.xml" > invoke="duplicateProductCategory" auth="true"> > > <description>Duplicate a Product Category using from > oldProductCategoryId to a new productCategoryId</description> > > <attribute name="productCategoryId" type="String" mode="IN" > optional="false"/> > > <attribute name="oldProductCategoryId" type="String" mode="IN" > optional="false"/> > > <attribute name="duplicateContent" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateParentRollup" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateChildRollup" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateMembers" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateCatalogs" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateFeatureCategories" type="String" > mode="IN" optional="true"/> > > <attribute name="duplicateFeatureGroups" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateAttributes" type="String" mode="IN" > optional="true"/> > > <attribute name="duplicateRoles" type="String" mode="IN" > optional="true"/> > > </service> > > > > *Result:* > > Scenario 1 succeeded > > image.png > > > > Scenaro 2 Failed > > image.png > > > > While researching the issue i came across the below thread, which > suggests that the above isssue is expected for XRPC and SOAP, but wasn't > sure > > this is expected for SECA on service defined with non-auto-attributes > > > > > http://ofbiz.135035.n4.nabble.com/Re-How-to-pass-org-apache-ofbiz-entity-GenericValue-using-XMLRPC-td4721139.html > > > Hi Sakthivel, > > As long as you don't call a service through XMLRPC or SOAP, there are no > relations. You send use images, but they mainly don't get through with the > ASF MLs. 2 solution: you give links to these images or you send us the log > with the error. > > HTH > > Jacques > > |
Free forum by Nabble | Edit this page |