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

SoapFault subcode not outputted correctly in Soap12FaultOutInterceptor

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.3
    • 2.0.11, 2.1.5
    • None
    • None

    Description

      Soap 1.2 spec for faults (http://www.w3.org/TR/soap12-part1/#soapfault) says that a soap fault sub code should be formatted like this:

      <Subcode><Value>m:MySubCode</Value></Subcode>

      but org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor does this (inner Value element is absent):

      <Subcode>m:MySubCode</Subcode>

      By looking at the code, it would be very simple to fix this:

      Starting at line 75 in release 2.1.3, code is :
      if (fault.getSubCode() != null)

      { writer.writeStartElement(defaultPrefix, "Subcode", ns); writer.writeCharacters(fault.getSubCodeString(getFaultCodePrefix(writer, fault.getSubCode()), defaultPrefix)); writer.writeEndElement(); }

      ... and it would become something like this:
      if (fault.getSubCode() != null)

      { writer.writeStartElement(defaultPrefix, "Subcode", ns); writer.writeStartElement(defaultPrefix, "Value", ns); writer.writeCharacters(fault.getSubCodeString(getFaultCodePrefix(writer, fault.getSubCode()), defaultPrefix)); writer.writeEndElement(); writer.writeEndElement(); }

      Attachments

        Activity

          People

            dkulp Daniel Kulp
            gduchesneau Guillaume Duchesneau
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: