private final Context startTransaction(int timeout, TxContextImple current) throws InvalidCreateParametersException, SystemException { try { final Long expires = (timeout > 0 ? new Long(timeout) : null); final String messageId = MessageId.getMessageId(); final CoordinationContext currentContext = (current != null ? getContext(current) : null); final CoordinationContextType coordinationContext = ActivationCoordinator.createCoordinationContext( _activationCoordinatorService, messageId, BusinessActivityConstants.WSBA_PROTOCOL_ATOMIC_OUTCOME, expires, currentContext); if (coordinationContext == null) { throw new SystemException( wstxLogger.i18NLogger.get_mwlabs_wst11_ba_remote_UserBusinessActivityImple_2()); } return new ContextImple(coordinationContext); } catch (final InvalidCreateParametersException icpe) { throw icpe; } catch (final SoapFault sf) { throw new SystemException(sf.getMessage()); } catch (final Exception ex) { throw new SystemException(ex.toString()); } }
private W3CEndpointReference getTerminationCoordinatorRPC(final TxContextImple ctx) throws SystemException { final CoordinationContextType coordinationContext = ctx.context().getCoordinationContext(); final String messageId = MessageId.getMessageId(); try { return RegistrationCoordinator.register( coordinationContext, messageId, null, ArjunaTXConstants.WSARJTX_PROTOCOL_TERMINATION_RPC); } catch (final Throwable th) { throw new SystemException( wstxLogger.i18NLogger.get_mwlabs_wst11_ba_remote_UserBusinessActivityImple_3()); } }