Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-2664

Axis generate invalid soap when using RPC/encoded where exists omittable fields (minOccurs=0) and nillable=false

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.4
    • Fix Version/s: None
    • Labels:
      None

      Description

      While using axis 1.4 with webMethods EAI system I have encountered the following problem :

      Axis generate an invalid soap message in RPC/encoded WS where exists omittable (minOccurs="0") fields and nillable = "false".
      Axis don't omit the field when null but put it in soap message with nill value.

      Exploring source code I have found the following check in org.apache.axis.encoding.ser.BeanSerializer.java class at row : 222

      // if meta data says minOccurs=0, then we can skip
      // it if its value is null and we aren't doing SOAP
      // encoding.
      if (isOmittable && !isEncoded)

      { continue; }

      It seams a choice to not apply omittable behavior while using soap/encoding. Is it correct ? Is it a standard ? WebMethods aspect that this field was omitted and not nill.

      I fixed it just as follow :

      // if meta data says minOccurs=0, then we can skip
      // it if its value is null and we aren't doing SOAP
      // encoding.
      if (isOmittable){ // && !isEncoded) { continue; }

      What can I aspect on next version of Axis ?

      Thx

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              patricknoir Patrick Di Loreto
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: