Uploaded image for project: 'Axis-C++'
  1. Axis-C++
  2. AXISCPP-1011

faultactor is facultative in SoapFaults

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • current (nightly)
    • current (nightly)
    • SOAP
    • None
    • WIN2KSP4 VC6SP6 JDK1.5.0_07

    Description

      In handling SoapFaults, faultactor is retrieved unconditionally (next()) where it should (being facultative) be checked for presence first (peek()).

      $ pwd
      /cd/d/Quellen/SVN/axis/c/src/soap

      Index: SoapDeSerializer.cpp
      ===================================================================
      — SoapDeSerializer.cpp (Revision 480584)
      +++ SoapDeSerializer.cpp (Arbeitskopie)
      @@ -401,7 +401,8 @@
      char *pcDetail;
      char *pcFaultCode;
      char *pcFaultstring;

      • char *pcFaultactor;
        + char *pcFaultactor = "";
        + char* pcName;
        if (0 == strcmp ("Fault", pName))
        {
        if (0 != strcmp (m_pNode->m_pchNameOrValue, pName))
        @@ -431,10 +432,14 @@
        if ( pcFaultstring )
        delete [] pcFaultstring;
      • pcFaultactor = getElementAsString ("faultactor", 0);
      • pFault->setFaultactor (pcFaultactor == NULL ? "" : pcFaultactor);
      • if ( pcFaultactor )
      • delete [] pcFaultactor;
        + pName = peekNextElementName();
        + if (strcmp(pName, "faultactor") == 0)
        + { + pcFaultactor = getElementAsString ("faultactor", 0); + pFault->setFaultactor (pcFaultactor == NULL ? "" : pcFaultactor); + if ( pcFaultactor ) + delete [] pcFaultactor; + }

      // FJP Changed the namespace from null to a single space (an impossible
      // value) to help method know

      Attachments

        Activity

          People

            nadiramra Nadir K. Amra
            fehrin Franz Fehringer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: