{
final AddressingContext addressingContext = AddressingContext.createRequestContext(activationCoordinatorURI, messageID) ;
final AttributedUnsignedIntType expiresValue = (expires == null ? null : new AttributedUnsignedIntType(expires.longValue())) ;
final RequestCallback callback = new RequestCallback() ;
final ActivationRequesterProcessor activationRequester = ActivationRequesterProcessor.getRequester() ;
activationRequester.registerCallback(messageID, callback) ;
try
{
ActivationCoordinatorClient.getClient().sendCreateCoordination(addressingContext,
coordinationTypeURI, expiresValue, currentContext) ;
callback.waitUntilTriggered() ;
}
catch (final IOException ioe)
{
throw new SoapFault10(ioe) ;
}
finally
{
activationRequester.removeCallback(messageID) ;
}
if (callback.hasFailed())
{
throw new SoapFault10(SoapFaultType.FAULT_RECEIVER, null, WSCLogger.log_mesg.getString("com.arjuna.wsc.ActivationCoordinator_1")) ;