we are using Fuse ESB 184.108.40.206 with Camel 220.127.116.11-fuse and CXF 18.104.22.168-fuse; in one of our bundles we have defined a CXF client with datamode set to POJO, because we need MTOM and that seems to be the only supported way to achieve it (http://camel.apache.org/cxf.html).
Our customer's WSDL (see below) has an implicit header for authentication data (the header is defined in the wsdl:binding section but not in the wsdl:portType).
We use the maven cxf-codegen-plugin to execute wsdl2java to generate client sources.
The problem arises when - from one of our routes - we generate a message and send it to the cxf client bean; before it even reaches the server we get the following exception and then the exchange is routed to the dead letter queue:
11:52:24,685 | WARN | nerContainer-973 | PhaseInterceptorChain | org.apache.cxf.endpoint.ClientImpl 471 | Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Index: 1, Size: 1
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at com.intersec.schema.mcms._3.SingleMms_WrapperTypeHelper1.createWrapperObject(Unknown Source)
... 39 more
Of course the com.intersec package has to do with the cxf-generated client code.
Now, I've dug a bit but the only relevant result I could find is a cxf issue with out-of-band headers that was fixed in cxf 2.0.3:
Not sure if what I'm seeing in our route is our error somewhere, a new issue with cxf or a regression, so I've tried with the workaround suggested in the cxf Jira entry (running the wsdl2java with '-exsh true'), unfortunately with no results (same error).
Any pointers anyone?
Relevant parts of our source code:
CXF client definition
Header identityHeader = new Header(new QName("com.intersec.schema.mcms._3", "callerIdentity"), identity, new JAXBDataBinding(CallerIdentity.class));
x.getOut().setHeader(Client.REQUEST_CONTEXT , requestContext);
// web service request
.to("cxf:bean:" + getCxfEndpointId())
Edited by: maxfuse on Dec 7, 2009 2:09 PM
Edited by: maxfuse on Dec 7, 2009 3:05 PM
MCMS.wsdl 43.5 K