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

The body and header appears in reverse order for outbound soap message

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.6.6
    • 2.7.4, 2.6.7
    • Soap Binding
    • None
    • Unknown

    Description

      In the scenario below, the body and header elements are in reverse order, which will cause issue for client application.
      Step to reproduce :
      a. Use WebServiceProvider as the server side, and return a soap message with the content below:
      <SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"><SOAP-ENV:Body><provider>my message</provider></SOAP-ENV:Body></SOAP-ENV:Envelope>
      b. Enabling addressing for the server/client side

      The interceptor chain will be something like :

      Chain org.apache.cxf.phase.PhaseInterceptorChain@29de29de. Current flow:
      setup [PolicyOutInterceptor]
      pre-logical [MAPAggregatorImpl, SwAOutInterceptor, SoapHeaderOutFilterInterceptor, SecurityVerificationOutInterceptor]
      post-logical [SoapPreProtocolOutInterceptor]
      prepare-send [MessageSenderInterceptor, MessageModeOutInterceptor]
      pre-stream [LoggingOutInterceptor, AttachmentOutInterceptor, StaxOutInterceptor]
      pre-protocol [SAAJOutInterceptor, MAPCodec, PolicyBasedWSS4JOutInterceptor, UsernameTokenInterceptor]
      write [SoapOutInterceptor]
      marshal [BareOutInterceptor]
      post-protocol [PolicyBasedWSS4JOutInterceptorInternal]

      It seems that, although we add a header checing in the SAAIOutInterceptor, while those addressing headers are not there at that time, then SoapOutInterceptor will add the header after the existing body elements.

      Attachments

        Activity

          People

            dkulp Daniel Kulp
            xuhaihong Haihong Xu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: