Forum Discussion

andsoulnd's avatar
andsoulnd
New Contributor
11 years ago

Mock Service: mockRequest.requestContent is NULL (HTTP PUT)

I am trying to get the content of HTTP PUT request (take text from request body) to compose dynamic response in REST Mock Service.
mockRequest.requestContent is always NULL if PUT method is used although request is sent with some text in request body and Content-Length is set with appropriate value in HTTP headers.
If HTTP action is changed to POST then mockRequest.requestContent is populated correctly.

Is it a bug or do I miss something?
  • Hello,

    Unfortunately, this is a bug. There is an internal defect of SOAP-2344 for this issue. This applies for the PUT and DELETE methods for a REST mock service.
  • andsoulnd's avatar
    andsoulnd
    New Contributor
    mrJames, Is there any estimate date when it will be fixed or the link to the bug in tracking system to check its status updates?
    • jpalmier's avatar
      jpalmier
      Regular Visitor

      I have the same issue with SoapUI 5.1.2 and 5.2.0. 

      I need to read the content of a PUT message.

      Is a workaround exist for this issue ?

  • apm's avatar
    apm
    New Contributor

    I have the same issue with SoapUI 5.2.1 when I try to read the content of a PUT message.

     

    Has this bug been fixed in any SOAP UI release ? Or is there a workaround for this issue ?

    • kjdivya's avatar
      kjdivya
      Occasional Contributor

      Hi 

      i found one workaround for the problem. We are getting null output for mockRequest.getRequestContent() for PUT request

       

      The workaround would be to use the following code

       

      InputStream is = mockRequest.request.inputStream
      BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
      StringBuilder sb = new StringBuilder()
      while((s=br.readLine())!=null) {
      sb.append(s)
      }
      String payLoad = sb.toString()
      log.info payLoad

       

       

      • vikititor's avatar
        vikititor
        Contributor

        NOT WORKS. I am using the ReadyAPI v 2.8.

         

        I am unable to read request body.. So unable to return valid response to my Application under test =  I am unable to test it = unable to use this tool for testing.

         

        This topic is here sooo loooong.. And no solution? I am surprised. So nobody from SmartBear was working on it? It means, that we are paing for licenses, but no effect?

         

        Please can somebody tell me, how to read POST body request ? because I must return some string value from it back to AUT.. 

    • viswam_i's avatar
      viswam_i
      New Contributor

      Anyone got the solution for this? Even I am seeing the same issue

      • viswam_i's avatar
        viswam_i
        New Contributor

        Can anyone please suggest in which version this issue is resolved?

  • jasonhjia's avatar
    jasonhjia
    New Contributor

    The workaround works smoothly. However, if you need re-get the content down the road, you can't since the stream cannot be consumed twice. Hope there's a real solution from smartbear.