participantId = TransactionIdHelper.getInstance().xid2wsatid(foreignXid);
Transactional.Version version = builder.getVersion();
WSCBuilderFactory factory = WSCBuilderFactory.newInstance(version);
RegistrationMessageBuilder rrBuilder = factory.newWSATRegistrationRequestBuilder();
BaseRegisterType registerType = rrBuilder.durable(true).txId(participantId).routing().build();
RegistrationProxyBuilder proxyBuilder = factory.newRegistrationProxyBuilder();
proxyBuilder.
to(cc.getRegistrationService()).
txIdForReference(participantId).
timeout(timeout);
RegistrationIF proxyIF = proxyBuilder.build();
BaseRegisterResponseType registerResponseType = proxyIF.registerOperation(registerType);
if(WSATHelper.isDebugEnabled()) debug("Return from registerOperation call:"+registerResponseType);
if (registerResponseType != null){
EndpointReference epr = registerResponseType.getCoordinatorProtocolService();
ForeignRecoveryContext frc =