private MuleEvent createResponseEvent(MuleMessage resultMessage, MuleEvent requestEvent) throws MuleException { if (resultMessage != null) { resultMessage.setMessageRootId(requestEvent.getMessage().getMessageRootId()); // Ensure ENCODING message property is set to give exactly same behavior as before // OutboundRewriteResponseEventMessageProcessor was removed (MULE-7535). resultMessage.setEncoding(resultMessage.getEncoding()); MuleSession storedSession = connector.getSessionHandler().retrieveSessionInfoFromMessage( resultMessage); requestEvent.getSession().merge(storedSession); MuleEvent resultEvent = new DefaultMuleEvent(resultMessage, requestEvent); unsafeSetEvent(resultEvent); return resultEvent; } else { return null; } }
event.getSession().merge(successEvent.getSession()); finalEvent = new DefaultMuleEvent(successEvent.getMessage(), event);
@Override public MuleEvent process(MuleEvent event) throws MuleException { if (replyMessageSource == null) { return processNext(event); } else { addLock(event); sendAsyncRequest(event); MuleEvent resultEvent = receiveAsyncReply(event); if (resultEvent != null) { // If result has MULE_SESSION property then merge session properties returned with existing // session properties. See MULE-5852 if (resultEvent.getMessage().getInboundProperty(MuleProperties.MULE_SESSION_PROPERTY) != null) { event.getSession().merge(resultEvent.getSession()); } resultEvent = org.mule.RequestContext.setEvent(new DefaultMuleEvent(resultEvent.getMessage(), event)); } return resultEvent; } }