oops this is the one I meant to suggest the link to service engine and FAQ

Jacques Le Roux sent the following on 9/13/2011 10:24 PM:
> Thanks Anne,
> 
> I don't see a better place either.
> 
> Jacques
> 
> From: "Anne" <[email protected]>
>> I've added a page to the wiki at
>> https://cwiki.apache.org/confluence/display/OFBIZ/SECAs+and+Error+and+Failure+Management
>>
>> summarising my findings on secas and error/failure handling.
>>
>> I couldn't find an obvious place to link to it from, so as yet there
>> are no links to it from anywhere else in the wiki. Does anyone have
>> any suggestions? If no one has a better idea, I could add a link from
>> the Misc section of the FAQ.
>>
>> Comments/corrections/suggestions welcome.
>>
>> Cheers,
>> Anne.
>>
>> On 6 September 2011 20:58, Scott Gray <[email protected]> wrote:
>>> The main service will never run if an error condition exists, I don't
>>> think that is something I would consider unexpected. I'm not really
>>> sure why the context validation is skipped but I don't think it
>>> matters much since the main service won't be run anyway. But anyway,
>>> just consider the main service to be set as run-on-error="false"
>>> permanently.
>>>
>>> Aside from this there is the whole issue of transactions to consider,
>>> if a service error results in a transaction rollback then that will
>>> effect all other service calls executed within the same transaction.
>>>
>>> Regards
>>> Scott
>>>
>>> On 6/09/2011, at 10:19 PM, Anne wrote:
>>>
>>>> Thanks Scott. But I now think it's more complicated than that.
>>>>
>>>> After BJ's comment I spent nearly all of today going through the code
>>>> (ServiceDispatcher.java and friends) to try to answer my question. I
>>>> had hoped to avoid doing that, for what I thought was a simple
>>>> question.
>>>>
>>>> It's looking like it wasn't a simple question after all. In the
>>>> example you give, nothing after the "in-validate" event will be run
>>>> (assuming all have run-on-error="false"). However if instead we set
>>>> run-on-error="true" everywhere, then once the in-validate action has
>>>> an error, validation of the IN data will be skipped, and the main
>>>> service will *not* be run, but all the other SECAs will be run. Not
>>>> what I would have expected.
>>>>
>>>> I intend continuing through ServiceDispatcher and friends tomorrow.
>>>> Once I'm done, I'll write up something that will hopefully help the
>>>> next person who has questions about secas and errors/failures.
>>>>
>>>> Cheers,
>>>> Anne.
>>>>
>>>> On 6 September 2011 17:47, Scott Gray <[email protected]>
>>>> wrote:
>>>>> run-on-error="true", run this eca service even when the main
>>>>> service flow contains an error condition
>>>>> ignore-error="true", do not allow an error return from this service
>>>>> to cause an error condition in the main service flow
>>>>>
>>>>> For example if you have a "validate" event eca with
>>>>> ignore-error="false" that when executed it returns an error, and
>>>>> you then you have an "invoke" event eca with run-on-error="false"
>>>>> then this eca will not be executed because an error condition exists.
>>>>>
>>>>> Regards
>>>>> Scott
>>>>>
>>>>> On 6/09/2011, at 11:56 AM, Anne wrote:
>>>>>
>>>>>> Does anyone know how "run-on-error" (eca tag) and "ignore-error"
>>>>>> (action tag) attributes work for a SECA that is set to run at invoke
>>>>>> time? The documentation's wording suggests to me it is talking
>>>>>> about a
>>>>>> commit or return SECA.
>>>>>>
>>>>>> Cheers,
>>>>>> Anne.
>>>>>>
>>>>>> On 2 September 2011 15:35, Anne <[email protected]> wrote:
>>>>>>> Hi
>>>>>>>
>>>>>>> I've successfully added secas many times before, but only on actions
>>>>>>> that run after the service, such as "return" or "commit" events.
>>>>>>> I now
>>>>>>> need an "invoke" seca, and it isn't working the way I expected. So I
>>>>>>> re-read the documentation, and all that did was confuse me. :-(
>>>>>>> Searching the mailing list showed me plenty of examples that did
>>>>>>> make
>>>>>>> sense, but only for "return" or "commit" events, so they didn't help
>>>>>>> me at all.
>>>>>>>
>>>>>>> At http://ofbiz.apache.org/docs/services.html#ECAs it says for
>>>>>>> the eca
>>>>>>> tag "run-on-error Should this ECA run if there is an error in the
>>>>>>> service". I know the service it refers to is the one named in the
>>>>>>> eca
>>>>>>> tag. But if the event is set to invoke, the action service is run
>>>>>>> before the eca service is invoked. Does this mean the run-on-error
>>>>>>> attribute is irrelevant for an invoke event?
>>>>>>>
>>>>>>> Further down in the same page it says for the action tag
>>>>>>> "ignore-error
>>>>>>> Ignore any errors caused by the action service. If true the error
>>>>>>> will cause the original service to fail. Default true.". Does this
>>>>>>> mean, if ignore-error is true and the "invoke" action service
>>>>>>> returns
>>>>>>> an error, that:
>>>>>>>
>>>>>>> 1) the eca service will not be run, and an error will be returned
>>>>>>> ( I
>>>>>>> think not, as the attribute name would then be wrong)? OR
>>>>>>>
>>>>>>> 2) the eca service will not be run, but a failure will be
>>>>>>> returned? OR
>>>>>>>
>>>>>>> 3) the eca service will be run, but a failure (or error) will be
>>>>>>> returned no matter the result of the eca service? OR
>>>>>>>
>>>>>>> 4) the eca service will be run, and the return will be whatever the
>>>>>>> eca service returns
>>>>>>>
>>>>>>>
>>>>>>> What I'm trying to do is use a seca to check some things and not run
>>>>>>> the main service if the seca action service fails/errors. Perhaps I
>>>>>>> should be doing this on "auth" or "in-validate" events, but I'll
>>>>>>> still
>>>>>>> need a better understanding of "run-on-error" and "ignore-error".
>>>>>>>
>>>>>>> Anyone able to explain?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Anne.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Coherent Software Australia Pty Ltd
>>>>>>> PO Box 2773
>>>>>>> Cheltenham Vic 3192
>>>>>>> Phone: (03) 9585 6788
>>>>>>> Fax: (03) 9585 1086
>>>>>>> Web: http://www.cohsoft.com.au/
>>>>>>> Email: [email protected]
>>>>>>>
>>>>>>> Bonsai ERP, the all-inclusive ERP system
>>>>>>> http://www.bonsaierp.com.au/
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> Coherent Software Australia Pty Ltd
>>>>>> PO Box 2773
>>>>>> Cheltenham Vic 3192
>>>>>> Phone: (03) 9585 6788
>>>>>> Fax: (03) 9585 1086
>>>>>> Web: http://www.cohsoft.com.au/
>>>>>> Email: [email protected]
>>>>>>
>>>>>> Bonsai ERP, the all-inclusive ERP system
>>>>>> http://www.bonsaierp.com.au/
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> Coherent Software Australia Pty Ltd
>>>> PO Box 2773
>>>> Cheltenham Vic 3192
>>>> Phone: (03) 9585 6788
>>>> Fax: (03) 9585 1086
>>>> Web: http://www.cohsoft.com.au/
>>>> Email: [email protected]
>>>>
>>>> Bonsai ERP, the all-inclusive ERP system
>>>> http://www.bonsaierp.com.au/
>>>
>>>
>>
>>
>>
>> -- 
>> Coherent Software Australia Pty Ltd
>> PO Box 2773
>> Cheltenham Vic 3192
>> Phone: (03) 9585 6788
>> Fax: (03) 9585 1086
>> Web: http://www.cohsoft.com.au/
>> Email: [email protected]
>>
>> Bonsai ERP, the all-inclusive ERP system
>> http://www.bonsaierp.com.au/
>>
> 
> 
> 

Reply via email to