Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5605

When a malformed SOAP body is received (e.g. a xs:string sent in place of a xs:int) server side log is useless

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.6.2
    • None
    • transports
    • None

    Description

      In AxisServlet.java, method doPost:

      catch (AxisFault e) {
      202 setResponseState(msgContext, response);
      203 log.debug(e);
      204 if (msgContext != null)

      { 205 processAxisFault(msgContext, response, out, e); 206 }

      else

      { 207 throw new ServletException(e); 208 }

      In "log.debug(e);" the log level should be changed to info or error.
      And the debug method should also receive the AxisFault object, i.e.:

      log.info(e, e);

      so that log4j/slf4j whatever logging is in place records the stacktrace in the server side log.

      In cases where the SOAP input is malformed (e.g. xs:string sent in place of xs:int) the code never exits auto-generated code and this debug line is all there is left in the server log file.

      Attachments

        Activity

          People

            Unassigned Unassigned
            diciu Cristian Draghici
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: