You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Gert Vanthienen <ge...@skynet.be> on 2008/06/02 22:45:52 UTC

Re: Camel route to CXF SE

Ralf,

I'm not sure why this wouldn't work.  Could you post the Camel routes in 
which you are using this processor to change the operation?

Regards,

Gert

sistar wrote:
> 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
>
>