Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-3537

requestHeaderSize in Jetty does not work with cxf 2.7.0.redhat-610379 in Fuse 6.1

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • jboss-fuse-6.2
    • jboss-fuse-6.1
    • CXF
    • None
    • % %

    Description

      Rest Services are exposed using camel-cxf component. A large request is send setting the 'requestHeaderSize' in Jetty like the below in blueprint,

      <httpj:engine-factory bus="cxf">
      <httpj:engine port="8123">
      <httpj:connector>
      <bean class="org.eclipse.jetty.server.nio.SelectChannelConnector">
      <property name="port">8123</property>
      <property name="requestHeaderSize" value="80000"/>
      <property name="requestBufferSize" value="80000"/>
      </bean>
      </httpj:connector>
      </httpj:engine>
      </httpj:engine-factory>

      However, in the attached reproducer, if we use the CXF version that's shipped with Fuse, i.e 2.7.0.redhat-610379, it produces the below test failure message, on 'mvn test',

      org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: [Body is null]]
      at org.apache.camel.component.http.HttpProducer.populateHttpOperationFailedException(HttpProducer.java:228)
      at org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:156)
      at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
      at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
      at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)
      at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:378)
      at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:346)
      at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:242)
      at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:346)
      at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:201)
      at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:128)
      at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:251)
      at org.apache.camel.impl.DefaultProducerTemplate.requestBodyAndHeaders(DefaultProducerTemplate.java:309)
      at org.apache.camel.impl.DefaultProducerTemplate.requestBodyAndHeaders(DefaultProducerTemplate.java:305)
      at org.apache.camel.impl.DefaultProducerTemplate.requestBodyAndHeaders(DefaultProducerTemplate.java:342)

      If we upgrade to CXF version, 2.7.14, the test case works just fine. The 'requestHeaderSize' is taken into account and the test passes.

      I am not sure what are the changes between the CXF versions that make the test to fail while using CXF version shipped with Fuse 6.1.0.

      Applying R2 P3 patch does not have any difference.

      Attachments

        Activity

          People

            yfang@redhat.com Freeman(Yue) Fang
            rhn-support-vgohel Viral Gohel
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: