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

Soap 1.1 service returns an invalid soap fault for soap 1.2 requests

    XMLWordPrintableJSON

Details

    • Unknown

    Description

      The soap 1.1 endpoint (i.e., soap 1.2 binding not enabled) is supposed to returns a soap fault when a soap 1.2 message is received. The fault is correctly raised, however, the returned fault message is inconsistent and has the soap 1.2 fault containing the soap 1.1 fault content, as

      <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
      <soap:Body>
      <soap:Fault>
      <faultcode xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">ns1:VersionMismatch</faultcode>
      <faultstring>A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.</faultstring>
      </soap:Fault>
      </soap:Body>
      </soap:Envelope>

      This will lead to problems at most soap clients (including CXF which gets an NPE), as the fault code is not found at the expected element.

      We can fix this by returning either the soap 1.1 fault or the soap 1.2 fault. The client that sent the soap 1.2 request message obviously understands both soap 1.2 and 1.1, it is not clear whether the service must return the soap 1.1 message or may return the message of the same version as the request message, in this case, the soap 1.2 message.

      Attachments

        Activity

          People

            ay Akitoshi Yoshida
            ay Akitoshi Yoshida
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: