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

When the logical handler return false processing the outbound message, the SoapMessage's body is always empty.

    XMLWordPrintableJSON

Details

    • Unknown

    Description

      According to the spec, when return false:
      Normal message processing stops, close is called on each previously invoked handler in the chain, the message is dispatched.

      So the message returned by endpoint should be dispatched to client, not always the empty body element.

      In my case, the endpoint has built the soapMessage:
      <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header/>
      <soap:Body>
      <ns2:celsiusToFahrenheitResponse xmlns:ns2="http://jaxws.samples.ibm.com/">
      <return>116</return>
      </ns2:celsiusToFahrenheitResponse>
      </soap:Body>
      </soap:Envelope>

      but the client receives:
      <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header/>
      <soap:Body/>
      </soap:Envelope>

      I find the LogicalHandlerOutInterceptor does not set the SoapMessage correct when the logicalHandler return false.

      Attachments

        1. CXF-4853.patch
          2 kB
          Yi Xiao

        Activity

          People

            njiang Willem Jiang
            john xiao Yi Xiao
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: