Axis-C++
  1. Axis-C++
  2. AXISCPP-1029

A non SOAP response results in client crashing

    Details

      Description

      If a response returns that is not a SOAP response, then the client crashes in SoapDeSerializer::getHeader ().

      For example, if a service returns simply an HTML response:

      HTTP/1.1 500 Internal Server Error
      Connection: close
      Date: Fri, 20 Apr 2007 20:51:44 GMT
      Server: Microsoft-IIS/6.0
      Content-Type: text/html

      <html><head><title>Failure</title></head>
      <body><h2>Failed to connect</h2>
      </body>
      </html>

      We should be a little bit more resilient and throw an exception....

        Activity

        Hide
        nadir amra added a comment -

        In SoapDeSerializer::getEnvelope(), I updated the code to throw an exception if the element name is not Envelope.

        In addition, in SoapDeSerializer::getBody() and SoapDeSerializer::getHeader(), I added a check to ensure that the SOAP version is valid prior to comparing the element name to SOAP element names SKW_HEADER and SKW_BODY. The check is as follows:

        (m_nSoapVersion != VERSION_LAST)

        I will wait to close until I build a testcase.

        Show
        nadir amra added a comment - In SoapDeSerializer::getEnvelope(), I updated the code to throw an exception if the element name is not Envelope. In addition, in SoapDeSerializer::getBody() and SoapDeSerializer::getHeader(), I added a check to ensure that the SOAP version is valid prior to comparing the element name to SOAP element names SKW_HEADER and SKW_BODY. The check is as follows: (m_nSoapVersion != VERSION_LAST) I will wait to close until I build a testcase.

          People

          • Assignee:
            nadir amra
            Reporter:
            nadir amra
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development