Hi Christian,

Thanks for the comments. One thing I am missing is how is the
beginning of a transaction indicated via a SOAP web service? Or the
committing of a transaction?

tia,
rouble

On Mon, Feb 6, 2012 at 4:23 PM, Christian Schneider
<[email protected]> wrote:
> One way is to use SOAP/JMS where transactions should work. If you combine
> this with a JTA transaction you should be able to get real transactional
> behaviour.
>
> One problem with http is that you do not even have guaranteed delivery. For
> example you might send a request, then the connection breaks and still the
> call will
> do itæ„€ effect. A very important best practice here is to use idempotent
> service contracts. So you can retry the call and it will only be executed
> once. For example you can create a unique id before the call. So if the call
> fails to return a result but has an effect on the server you can retry and
> the second call can be ignored by the server.
>
> If rollbacks need to be done only very seldomly you can do them manually.
> You just log the failure for a human to correct the problem. This sounds
> weird for us developers but is quite common in business.
>
> Christian
>
>
>
> Am 06.02.2012 21:30, schrieb rouble:
>
>> CXF Gurus, and Users,
>>
>> How are developers implementing SOAP web services that are
>> transactional. For instance, if I have a bank web service that does:
>> api call: debit savings $10
>> api call: credit checkings $10
>>
>> I need to be able to begin a transaction before the api calls, and
>> commit it after. If either one of the apis fails, I need to be able to
>> rollback.
>>
>> I understand there are standards such WS-AtomicTransaction,
>> WS-Coordination and such. But how are people implementing these kinds
>> of functions in the absence of those standards being implemented in
>> CXF?
>>
>> Obviously, one way would be to re-write the above api calls as one api
>> call:
>> api call: transfter savings checkings $10
>>
>> But that is not always an option depending on the API.
>>
>> tia,
>> rouble
>
>
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>

Reply via email to