}
Object callbackID = msgContext.getFrom().getReferenceParameters().getCallbackID();
((CallbackReferenceImpl)callableReference).attachCallbackID(callbackID);
EndpointReference epr = msgContext.getFrom().getReferenceParameters().getCallbackReference();
setEndpoint(epr);
// need to set the endpoint on the binding also so that when the chains are created next
// the sca binding can decide whether to provide local or remote invokers.
// TODO - there is a problem here though in that I'm setting a target on a
// binding that may possibly be trying to point at two things in the multi threaded
// case. Need to confirm the general model here and how the clone and bind part
// is intended to work
wire.getSource().getBinding().setURI(epr.getURI());
// also need to set the target contract as it varies for the sca binding depending on
// whether it is local or remote
RuntimeComponentReference ref = (RuntimeComponentReference)wire.getSource().getContract();
Binding binding = wire.getSource().getBinding();