Details
Description
cxf proxy scenario:
from("cxf:bean:brokerOrderLimit?dataFormat=CXF_MESSAGE")
.to("cxf:bean:thalerOrderLimit?dataFormat=CXF_MESSAGE");
When the thalerOrderLimit service returns a SOAPFault a NPE occurs:
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)
Worked around by switching to PAYLOAD
Attachments
Issue Links
- duplicates
-
CAMEL-6404 cCXF route proxy cannot return Fault message to client when Dataformat is CXF_MESSAGE
- Resolved