Ivan created CXF-4818:
-------------------------

             Summary: The body and header appears in reverse order for outbound 
soap message
                 Key: CXF-4818
                 URL: https://issues.apache.org/jira/browse/CXF-4818
             Project: CXF
          Issue Type: Bug
          Components: Soap Binding
    Affects Versions: 2.6.6
            Reporter: Ivan


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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to