org.apache.axis2.context.MessageContext msgCtx = ((Axis2SynapseEnvironment)
synapseEnvironment).getAxis2ConfigurationContext().createMessageContext();
AxisConfiguration axisConfiguration = msgCtx.getConfigurationContext().getAxisConfiguration();
JMSPersistentAxis2Message jmsAxis2MessageContext = message.getJmsPersistentAxis2Message();
SOAPEnvelope envelope = getSoapEnvelope(jmsAxis2MessageContext.getSoapEnvelope());
try {
msgCtx.setEnvelope(envelope);
// set the RMSMessageDto properties
msgCtx.getOptions().setAction(jmsAxis2MessageContext.getAction());
if (jmsAxis2MessageContext.getRelatesToMessageId() != null) {
msgCtx.addRelatesTo(new RelatesTo(jmsAxis2MessageContext.getRelatesToMessageId()));
}
msgCtx.setMessageID(jmsAxis2MessageContext.getMessageID());
msgCtx.getOptions().setAction(jmsAxis2MessageContext.getAction());
AxisService axisService =
axisConfiguration.getServiceForActivation(jmsAxis2MessageContext.getService());
AxisOperation axisOperation =
axisService.getOperation(jmsAxis2MessageContext.getOperationName());
msgCtx.setFLOW(jmsAxis2MessageContext.getFLOW());
ArrayList executionChain = new ArrayList();
if (jmsAxis2MessageContext.getFLOW() ==
org.apache.axis2.context.MessageContext.OUT_FLOW) {
executionChain.addAll(axisOperation.getPhasesOutFlow());
executionChain.addAll(axisConfiguration.getOutFlowPhases());
} else if (jmsAxis2MessageContext.getFLOW() ==
org.apache.axis2.context.MessageContext.OUT_FAULT_FLOW) {
executionChain.addAll(axisOperation.getPhasesOutFaultFlow());
executionChain.addAll(axisConfiguration.getOutFlowPhases());
}
msgCtx.setExecutionChain(executionChain);
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
msgCtx.setAxisService(axisService);
ServiceGroupContext serviceGroupContext =
configurationContext.createServiceGroupContext(axisService.getAxisServiceGroup());
ServiceContext serviceContext = serviceGroupContext.getServiceContext(axisService);
OperationContext operationContext = serviceContext.createOperationContext(
jmsAxis2MessageContext.getOperationName());
msgCtx.setServiceContext(serviceContext);
msgCtx.setOperationContext(operationContext);
msgCtx.setAxisService(axisService);
msgCtx.setAxisOperation(axisOperation);
if (jmsAxis2MessageContext.getReplyToAddress() != null) {
msgCtx.setReplyTo(new EndpointReference(jmsAxis2MessageContext.getReplyToAddress().trim()));
}
if (jmsAxis2MessageContext.getFaultToAddress() != null) {
msgCtx.setFaultTo(new EndpointReference(jmsAxis2MessageContext.getFaultToAddress().trim()));
}
if (jmsAxis2MessageContext.getFromAddress() != null) {
msgCtx.setFrom(new EndpointReference(jmsAxis2MessageContext.getFromAddress().trim()));
}
if (jmsAxis2MessageContext.getToAddress() != null) {
msgCtx.getOptions().setTo(new EndpointReference(jmsAxis2MessageContext.getToAddress().trim()));
}
msgCtx.setProperties(jmsAxis2MessageContext.getProperties());
msgCtx.setTransportIn(axisConfiguration.
getTransportIn(jmsAxis2MessageContext.getTransportInName()));
msgCtx.setTransportOut(axisConfiguration.
getTransportOut(jmsAxis2MessageContext.getTransportOutName()));
JMSPersistentSynapseMessage jmsSynpaseMessageContext
= message.getJmsPersistentSynapseMessage();
org.apache.synapse.MessageContext synCtx =