I'm trying to implement a WS-AtomicTransaction coordinator, and I don't know if I should allow more than one completion participant on the transaction.
The only thing the protocol specifies is that sub-coordinatos should refuse registration of completion participants, but it says nothing about having more than one registered on the root coordinator. What I fear is that, once I've flowed the context to another business application, it may try to register a completion participant by itself and then try to commit or rollback the transaction (ruining the whole transaction, and probably the logic on the initiator side).
So, should I allow more than one completion participants on a transaction? And if not, how can I prevent the registration of more completion participants after the first one?