1 Reply Latest reply: Dec 8, 2011 1:31 PM by Pierluigi Vernetto RSS

    [OSB] Invoking OSB HTTP proxy as a part of a global transaction

    Veronica
      Hi,

      my question is, can a OSB HTTP proxy be executed in context of the global transaction?

      I did two tests. One had the following scenario:
      HTTP OSB proxy invokes JMS OSB proxy that invokes an "Insert to database" business services.
      Both of the proxies were transactional - I have set "Transaction Required" and "Same Transaction For Response" to enabled on both of them. Also, I've set QoS to "Exactly Once" in the Routing Option.

      The OSB JMS proxy's flow was executed as a part of the global transaction. I confirmed this with the following test:
      If I throw an exception in the responce pipeline of the HTTP OSB proxy, the database transaction was rolled back. If I throw an exception in the responce pipeline of the HTTP OSB proxy, but have the "Transaction Required" and "Same Transaction For Response disabled, the database transaction is commited and than the exception is thrown.

      The problem is, If I change the protocol of the second proxy to HTTP, then it doesn't seem to be executed in the context of the global transaction. If I throw an error in the response pipeline of the first OSB proxy(and "Transactions Are Required" and "Same Transaction For Response" are enabled for both proxy, and QoS is set to "Exactly once") the database transaction is not rolled back.

      So, can a OSB HTTP proxy be executed in context of the global transaction?

      Edited by: user13604541 on Dec 5, 2011 2:27 AM