Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7676

TCK: An Entity OutputStream is not set before ClientRequestFilterInterceptor.handleMessage() processes a user's ClientRequestFilter which modifies the EntityStream via ClientRequestContext.setEntityStream()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.2.3, 3.2.4
    • JAX-RS
    • None
    • all versions, any environment

    • Moderate

    Description

      CXF is failing a test in both the JAXRS 2.0 and 2.1 TCKs where a user creates a ClientRequestFilter which wraps the EntityStream in the filter() method via ClientRequestContext.setEntityStream().

      CXF uses Phases to order the interceptors in the PhaseInterceptorChain. http://cxf.apache.org/docs/interceptors.html

      A customer's client filter code gets executed in ClientRequestFilterInterceptor.handleMessage() during the PRE_LOGICAL phase of the outgoing chain.
      We don't actually create the entity output stream until HTTPConduit.prepare() which is called by MessageSenderInterceptor.handleMessage() during the PREPARE_SEND phase of the outgoing chain.

      As a result, any interaction/modification of the entity stream by the user gets overwritten.

      Attachments

        Issue Links

          Activity

            People

              dkulp Daniel Kulp
              atanders Adam Anderson
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 1h
                  1h
                  Remaining:
                  Remaining Estimate - 1h
                  1h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified