MuleEvent event = (MuleEvent) message.getExchange().get(CxfConstants.MULE_EVENT);
// are we sending an out of band response for a server side request?
boolean decoupled = event != null && message.getExchange().getInMessage() != null;
OutboundEndpoint ep = null;
if (event == null || decoupled)
{
// we've got an out of band WS-RM message or a message from a standalone client
MuleContext muleContext = configuration.getMuleContext();
MuleMessage muleMsg = new DefaultMuleMessage(handler, muleContext);
MuleSession session = new DefaultMuleSession(muleContext);
String url = setupURL(message);
try
{
ep = getEndpoint(muleContext, url);
event = new DefaultMuleEvent(muleMsg, ep.getExchangePattern(), session);
}
catch (Exception e)
{
throw new Fault(e);
}
event.setTimeout(MuleEvent.TIMEOUT_NOT_SET_VALUE);
}
else
{
event.getMessage().setPayload(handler);
}
if (!decoupled)
{
message.getExchange().put(CxfConstants.MULE_EVENT, event);
}
message.put(CxfConstants.MULE_EVENT, event);
final MuleEvent finalEvent = event;
final OutboundEndpoint finalEndpoint = ep;
AbstractPhaseInterceptor<Message> i = new AbstractPhaseInterceptor<Message>(Phase.PRE_STREAM)
{
public void handleMessage(Message m) throws Fault
{
try