I switched to PAYLOAD format to avoid this exception. I have the feeling no one uses CXF_MESSAGE and it isn't really implemented completely yet
On Thu, Apr 4, 2013 at 5:35 PM, Nico Mommaerts <nico.mommae...@gmail.com>wrote: > Hey, > > I'm using Camel (2.10.3) to proxy a webservice (and insert some custom > headers): > > from("cxf:bean:brokerOrderLimit?dataFormat=CXF_MESSAGE") > .process(soapHeadersEnricher) > .to("cxf:bean:thalerOrderLimit?dataFormat=CXF_MESSAGE"); > > When the 'thalerOrderLimit' bean sends back a SOAPFault I just want to the > client caller to receive this (actually I want to look into the SOAPFault > and in one special case I want to modify the soap headers and redeliver, > else just deliver the fault to the client, but I'm taking baby steps here). > > With the above config however I'm getting: > java.lang.NullPointerException > at > org.apache.cxf.interceptor.ClientFaultConverter.getConstructor(ClientFaultConverter.java:204)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.interceptor.ClientFaultConverter.processFaultDetail(ClientFaultConverter.java:176)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.interceptor.ClientFaultConverter.handleMessage(ClientFaultConverter.java:80)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:112)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)[cxf-rt-bindings-soap-2.6.3.jar:2.6.3] > at > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)[cxf-rt-bindings-soap-2.6.3.jar:2.6.3] > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:783)[cxf-api-2.6.3.jar:2.6.3] > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1694)[cxf-rt-transports-http-2.6.3.jar:2.6.3] > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1535)[cxf-rt-transports-http-2.6.3.jar:2.6.3] > at > org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426)[cxf-api-2.6.3.jar:2.6.3] > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > Source)[:1.6.0_21] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source)[:1.6.0_21] > at > org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351)[cxf-api-2.6.3.jar:2.6.3] > at java.lang.Thread.run(Unknown Source)[:1.6.0_21] > Exception in thread "default-workqueue-1" java.lang.NullPointerException > at > org.apache.camel.component.cxf.DefaultCxfBinding.getContentFromCxf(DefaultCxfBinding.java:642) > at > org.apache.camel.component.cxf.DefaultCxfBinding.populateExchangeFromCxfResponse(DefaultCxfBinding.java:151) > at > org.apache.camel.component.cxf.CxfClientCallback.handleException(CxfClientCallback.java:81) > at > org.apache.cxf.interceptor.ClientOutFaultObserver.onMessage(ClientOutFaultObserver.java:59) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1540) > at > org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at > org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351) > at java.lang.Thread.run(Unknown Source) > > I've read through the chapter of error handling in the Camel in Action > book but I don't know if this has anything to do with my configuration? >