MessageExchangeFactory exchangeFactory,
String defaultMep)
throws MessagingException, URISyntaxException {
// option 1 -- use the MEP that was configured on the endpoint URI
ExchangePattern mep = ExchangePattern.fromWsdlUri(defaultMep);
if (mep == null) {
// option 2 -- use the MEP configured on the ToJbiProcessor
mep = ExchangePattern.fromWsdlUri(getMessageExchangePattern());
}
if (mep == null) {
// option 3 -- use the MEP from the Camel Exchange
mep = camelExchange.getPattern();
}
MessageExchange answer = null;
if (mep != null) {
if (mep == ExchangePattern.InOnly) {
answer = exchangeFactory.createInOnlyExchange();
} else if (mep == ExchangePattern.InOptionalOut) {
answer = exchangeFactory.createInOptionalOutExchange();
} else if (mep == ExchangePattern.InOut) {
answer = exchangeFactory.createInOutExchange();
} else if (mep == ExchangePattern.RobustInOnly) {
answer = exchangeFactory.createRobustInOnlyExchange();
} else {
answer = exchangeFactory.createExchange(new URI(mep.toString()));
}
}
// TODO: this is not really usefull as the out will not be
// TODO: populated at that time
if (answer == null) {