public SoapBody invoke(final SoapDetails soapDetails, final MessageContext context,
final MessageContext responseContext, final String action, final XMLStreamReader in)
throws XMLStreamException, SoapFault
{
final NotificationType compensate = new NotificationType(in) ;
final AddressingContext addressingContext = AddressingContext.getContext(context) ;
final ArjunaContext arjunaContext = ArjunaContext.getContext(context) ;
TaskManager.getManager().queueTask(new Task() {
public void executeTask() {
CoordinatorCompletionParticipantProcessor.getProcessor().compensate(compensate, addressingContext, arjunaContext) ;
}