if (soapAction != null) {
XFireServletController.getResponse().setHeader("SOAPAction", soapAction);
}
DeliveryChannel channel = getDeliveryChannel();
MessageExchangeFactory factory = channel.createExchangeFactory();
InOut exchange = factory.createInOutExchange();
populateExchange(exchange, source, context);
boolean result = channel.sendSync(exchange);
if (!result) {
throw new XFireFault("Error sending exchange", XFireFault.SENDER);
}