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.

Reply via email to