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

fault/exception/error handling flawed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.6 Alpha
    • current (nightly)
    • Client - Stub
    • None
    • WIN2KSP4 JDK1.5.0_06 MSVC6SP6

    Description

      fault/exception/error handling seems to be flawed in several respects (in what follows i refer to my attached example).
      First the intention of the WSDL/XSD writers clearly was to expect an ErrorResponse element inside the soap:faultdetail for the error scenario of all three requests (and i think they are right so).
      The Axis generated code instead looks for LoginFault, LogoutFault and SearchRoomsFault.
      Second there seem to be problems with memory management.
      I get user defined breakpoints and/or access violations at (all in PegsPortType.cpp)
      throw fault; // line 588
      delete [] const_cast<char*>(detail); // lines 615,720,879
      The const_cast as well as the interplay between assignment and delete operations generally look fishy too me.
      In my investigations i stumbled over the generated t_ErrorResponse (derived from SoapFaultException) copy constructor.
      The base class is not copied over there.
      More to follow.

      Attachments

        1. PegsPortType.cpp
          47 kB
          Franz Fehringer
        2. t_ErrorResponse.cpp
          4 kB
          Franz Fehringer
        3. vakanz.wsdl
          4 kB
          Franz Fehringer
        4. vakanz.xsd
          40 kB
          Franz Fehringer

        Activity

          People

            Unassigned Unassigned
            fehrin Franz Fehringer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: