camel cxf endpoint gets a NPE after 30 seconds despite http conduit configured with large value of RecieveTimeout

Solution Unverified - Updated -

Issue

We have a camel route with proxy pattern so it consumes from a camel cxf consumer endpoint and invokes out to an external service through a camel cxf producer endpoint. In case the response of the external service takes more than 30 seconds, the camel routes throws a NullPointerException even though we have a http conduit configured with ReceiveTimeout="120000":

11:38:13,472 | WARN  | qtp770349721-148 | PhaseInterceptorChain            | 74 - org.apache.cxf.cxf-core - 3.0.4.redhat-621084 | Interceptor for {http://servicemix.apache.org/samples/wsdl-first}PersonService#{http://servicemix.apache.org/samples/wsdl-first}GetPerson has thrown exception, unwinding now
java.lang.NullPointerException
    at org.apache.cxf.jaxws.interceptors.HolderOutInterceptor.handleMessage(HolderOutInterceptor.java:79)[98:org.apache.cxf.cxf-rt-frontend-jaxws:3.0.4.redhat-621084]

Here is my camel route:

<camelcxf:cxfEndpoint id="proxyEndpoint"
                    address="http://localhost:9001/person"
                    wsdlURL="META-INF/wsdl/person.wsdl"
                    serviceClass="org.apache.servicemix.samples.wsdl_first.Person"
                    serviceName="person:PersonService"
                    endpointName="person:soap"
                    xmlns:person="http://servicemix.apache.org/samples/wsdl-first" />

<camelcxf:cxfEndpoint id="invokerEndpoint"
                    address="http://localhost:8092/PersonService/"
                    wsdlURL="META-INF/wsdl/person.wsdl"
                    serviceClass="org.apache.servicemix.samples.wsdl_first.Person"
                    serviceName="person:PersonService"
                    endpointName="person:soap"
                    xmlns:person="http://servicemix.apache.org/samples/wsdl-first" />

<http-conf:conduit name="http://localhost:8092/.*">
        <http-conf:client Connection="Keep-Alive"
                      ReceiveTimeout="120000" />
    </http-conf:conduit>

<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
        <route>
            <from uri="cxf:bean:proxyEndpoint"/>
            <to uri="cxf:bean:invokerEndpoint"/>
        </route>
    </camelContext>

Environment

  • JBoss Fuse
    • 6.2.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.