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: image.png]

Scenaro 2 Failed
[image: 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

Reply via email to