} else {
msg.setFrom(epFrom);
}
msg.setTo(wire.getTarget());
Invoker headInvoker = chain.getHeadInvoker();
Operation operation = chain.getTargetOperation();
msg.setOperation(operation);
Message msgContext = ThreadMessageContext.getMessageContext();
Object currentConversationID = msgContext.getFrom().getReferenceParameters().getConversationID();
ThreadMessageContext.setMessageContext(msg);
try {
conversationPreinvoke(msg);
// handleCallback(msg, currentConversationID);
// dispatch the wire down the chain and get the response
Message resp = headInvoker.invoke(msg);
Object body = resp.getBody();
if (resp.isFault()) {
throw new InvocationTargetException((Throwable)body);
}
return body;