Hi, I tried the following scenario but found out the transaction is only propagated one hop away from the transaction initiator: client -> A(initiator of a WSAT) -> B (a WS participant in the WSAT) -> C (hoping to be a participant in the same WSAT)
I did some investigation and realized that the coordination context is inserted into a request only if there is currently an active WSAT transaction (returned by org.apache.kandula.coordinator.at.TransactionImpl.getInstance().getTransaction()), and once a WSAT transaction is propagated to a participant, a local transaction is started and is managed by org.apache.geronimo.transaction.manager.TransactionManagerImpl. If this participant needs to call another WS in the scope of the same WSAT transaction, the WSAT coordination context is not further propagated. I wonder if it is possible to modify the current implementation so that when a WSAT transaction is propagated to a WS, an instance of the WSAT transaction is registered with the kandula TransactionManagerImpl somehow, to enable the propagation of a WSAT to multiple sites through a chain of WS invocations. I also wonder if the SurrogateWSAtomicTransactionCoordinator can be used for this purpose (I know currently it is used to deal with imported local transacctions). Thanks, Wenbing --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
