{
participant.complete() ;
}
catch (final FaultedException fe)
{
final AddressingContext responseAddressingContext =
AddressingContext.createNotificationContext(addressingContext, messageId) ;
TerminationParticipantClient.getClient().sendFaulted(responseAddressingContext, instanceIdentifier) ;
}
catch (final UnknownTransactionException ute)
{
final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, messageId) ;
final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, ArjunaTXConstants.UNKNOWNTRANSACTION_ERROR_CODE_QNAME,
WSTLogger.log_mesg.getString("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_12")) ;
TerminationParticipantClient.getClient().sendSoapFault(faultAddressingContext, soapFault, instanceIdentifier) ;
return ;
}
catch (final SystemException se)
{
final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, messageId) ;
final String pattern = WSTLogger.log_mesg.getString("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_13") ;
final String message = MessageFormat.format(pattern, new Object[] {se}) ;
final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME, message) ;
TerminationParticipantClient.getClient().sendSoapFault(faultAddressingContext, soapFault, instanceIdentifier) ;
return ;
}
catch (final Throwable th)
{
if (WSTLogger.arjLoggerI18N.isDebugEnabled())
{
WSTLogger.arjLoggerI18N.debug("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_14", th) ;
}
final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
final SoapFault soapFault = new SoapFault10(th) ;
TerminationParticipantClient.getClient().sendSoapFault(faultAddressingContext, soapFault, instanceIdentifier) ;
return ;
}
final AddressingContext responseAddressingContext =
AddressingContext.createNotificationContext(addressingContext, messageId) ;
TerminationParticipantClient.getClient().sendCompleted(responseAddressingContext, instanceIdentifier) ;
}
else
{
if (WSTLogger.arjLoggerI18N.isDebugEnabled())
{
WSTLogger.arjLoggerI18N.debug("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_15", new Object[] {instanceIdentifier}) ;
}
final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;
final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, ArjunaTXConstants.UNKNOWNTRANSACTION_ERROR_CODE_QNAME,
WSTLogger.log_mesg.getString("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_16")) ;
TerminationParticipantClient.getClient().sendSoapFault(faultAddressingContext, soapFault, instanceIdentifier) ;
}
}