{
participant.close() ;
}
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_6")) ;
TerminationParticipantClient.getClient().sendSoapFault(faultAddressingContext, soapFault, instanceIdentifier) ;
return ;
}
catch (final TransactionRolledBackException trbe)
{
final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, messageId) ;
final SoapFault soapFault = new SoapFault10(SoapFaultType.FAULT_SENDER, ArjunaTXConstants.TRANSACTIONROLLEDBACK_ERROR_CODE_QNAME,
WSTLogger.log_mesg.getString("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_7")) ;
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_8") ;
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_9", 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().sendClosed(responseAddressingContext, instanceIdentifier) ;
}
else
{
if (WSTLogger.arjLoggerI18N.isDebugEnabled())
{
WSTLogger.arjLoggerI18N.debug("com.arjuna.wst.messaging.TerminatorParticipantProcessorImpl_10", 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_11")) ;
TerminationParticipantClient.getClient().sendSoapFault(faultAddressingContext, soapFault, instanceIdentifier) ;
}
}