log.error("to address not set");
return;
}
MessageContext mc = synapseEnvironment.createMessageContext();
// AspectHelper.setGlobalAudit(mc); TODO
mc.pushFaultHandler(new MediatorFaultHandler(mc.getFaultSequence()));
mc.setTo(new EndpointReference(to));
if (format == null) {
PayloadHelper.setXMLPayload(mc, message.cloneOMElement());
} else {
try {
if (SOAP11_FORMAT.equalsIgnoreCase(format)) {
mc.setEnvelope(OMAbstractFactory.getSOAP11Factory().createSOAPEnvelope());
} else if (SOAP12_FORMAT.equalsIgnoreCase(format)) {
mc.setEnvelope(OMAbstractFactory.getSOAP12Factory().createSOAPEnvelope());
} else if (POX_FORMAT.equalsIgnoreCase(format)) {
mc.setDoingPOX(true);
} else if (GET_FORMAT.equalsIgnoreCase(format)) {
mc.setDoingGET(true);
}
PayloadHelper.setXMLPayload(mc, message.cloneOMElement());
} catch (AxisFault axisFault) {
String msg = "Error in setting the message payload : " + message;
log.error(msg, axisFault);
throw new SynapseException(msg, axisFault);
}
}
if (soapAction != null) {
mc.setSoapAction(soapAction);
}
synapseEnvironment.injectMessage(mc);
}