Hi,
I am trying to route from HTTP -> Camel -> XSLT -> Camel -> CXF SE.
Unfortunately the HTTP Adapter sets the Operation to a QNAME {foo}bar.
The CXF SE expects an Operation QNAME from it's own WSDL (Which is for
example {baz}bar):
________________________________________________________________
JBIOperationInInterceptor.java:
if (message.getJbiExchange().getOperation() != null) {
BindingInfo service = ep.getEndpointInfo().getBinding();
boi = getBindingOperationInfo(service,
message.getJbiExchange().getOperation());
if (boi == null) {
throw new Fault(new Message("UNKNOWN_OPERATION", BUNDLE,
message.getJbiExchange().getOperation().toString()));
________________________________________________________________
So Camel does correct JBI Routing based on Service QNAME, but CXF SE fails
because of the non matching Operation.
I tried to change the Operation in my Camel Routbuilder:
_________________________________________________
public void process(Exchange exchange) throws Exception {
MessageExchange messageExchange = ((JbiExchange) exchange)
.getMessageExchange();
log
.info("jbi operation was: "
+ messageExchange.getOperation());
messageExchange.setOperation(new QName(
"http://opitz-consulting.de/erp/PriceQuote",
"orderProcessingOperation"));
}
_________________________________________________
But this does not change the Operation forwarded to CXF.
How can I change the Operation, or am I getting something wrong here?
Ralf
--
View this message in context:
http://www.nabble.com/Camel-route-to-CXF-SE-tp17567845p17567845.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.