4 Replies Latest reply: Nov 21, 2012 3:27 AM by Vrushank RSS

    Error 403 during playback in OLT

    Vrushank
      Hi,

      I am using OATS 12.1.0.2. I am recording a load testing script for an EFT transaction. The recording works fine but during replay, it fails with the following message :

      HTTP response code: 403  Forbidden

      Following is the stacktrace in the console :

      15:51:31,703 ERROR [1] Error in section Run at line (script.java:1011). HTTP response code: 403 Forbidden
      oracle.oats.scripting.modules.http.api.exceptions.ThinBrowserException: HTTP response code: 403 Forbidden
           at oracle.oats.scripting.modules.http.api.exceptions.ThinBrowserException.createErrorInvalidHttpResponseCode(ThinBrowserException.java:66)
           at oracle.oats.scripting.modules.http.api.internal.ResponseCodeValidator.validate(ResponseCodeValidator.java:21)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.validate(AbstractHTTPService.java:953)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.navigate(AbstractHTTPService.java:521)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.doNavigate(AbstractHTTPService.java:424)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.doNavigate(AbstractHTTPService.java:414)
           at oracle.oats.scripting.modules.http.api.internal.InternalHTTPService.navigate(InternalHTTPService.java:1762)
           at oracle.oats.scripting.modules.http.api.internal.InternalHTTPService.navigate(InternalHTTPService.java:1725)
           at oracle.oats.scripting.modules.http.api.internal.InternalHTTPService.post(InternalHTTPService.java:1843)
           at oracle.oats.scripting.modules.http.api.HTTPService.post(HTTPService.java:2540)
           at script.run(script.java:1011)
           at oracle.oats.scripting.modules.basic.api.IteratingVUser.run(IteratingVUser.java:342)
           at oracle.oats.scripting.modules.basic.api.internal.IteratingAgent.run(IteratingAgent.java:770)
           at java.lang.Thread.run(Thread.java:619)
      15:51:31,713 ERROR [1] Iteration 1 failed at line (script.java:1011). HTTP response code: 403 Forbidden
      oracle.oats.scripting.modules.http.api.exceptions.ThinBrowserException: HTTP response code: 403 Forbidden
           at oracle.oats.scripting.modules.http.api.exceptions.ThinBrowserException.createErrorInvalidHttpResponseCode(ThinBrowserException.java:66)
           at oracle.oats.scripting.modules.http.api.internal.ResponseCodeValidator.validate(ResponseCodeValidator.java:21)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.validate(AbstractHTTPService.java:953)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.navigate(AbstractHTTPService.java:521)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.doNavigate(AbstractHTTPService.java:424)
           at oracle.oats.scripting.modules.http.api.internal.AbstractHTTPService.doNavigate(AbstractHTTPService.java:414)
           at oracle.oats.scripting.modules.http.api.internal.InternalHTTPService.navigate(InternalHTTPService.java:1762)
           at oracle.oats.scripting.modules.http.api.internal.InternalHTTPService.navigate(InternalHTTPService.java:1725)
           at oracle.oats.scripting.modules.http.api.internal.InternalHTTPService.post(InternalHTTPService.java:1843)
           at oracle.oats.scripting.modules.http.api.HTTPService.post(HTTPService.java:2540)
           at script.run(script.java:1011)
           at oracle.oats.scripting.modules.basic.api.IteratingVUser.run(IteratingVUser.java:342)
           at oracle.oats.scripting.modules.basic.api.internal.IteratingAgent.run(IteratingAgent.java:770)
           at java.lang.Thread.run(Thread.java:619)

      And the erroneous line as per the stacktrace is this :

      http.post(717,"{{web.formaction.frmmain,http://10.180.58.9:7002/B001/internet}}",
                          null,
                          http.postdata(http.param("{{@resourceFile(306.postData.rsc, UTF8, true)}}")),
                          http.headers(http.header(
                               "Referer",
                               "http://10.180.58.9:7002{{referer.http101805897002B001intern_10,/B001/internet}}",
                               Header.HeaderAction.Modify)),
                          true,
                          "UTF8",
                          "UTF8");

      Please note that I have not modified the generated code. Could anyone please guide as to how to analyze and fix this error?

      I am accessing the application VIA the web server.

      I also tried recording the script by accessing the app server directly, but still the error persists.
        • 1. Re: Error 403 during playback in OLT
          834498
          Hello
          Is that the very first step/http query in the scriot or do you get this error somewhere else in the script?

          Does your application need a auth if you manually navigate to the apps? Have you checked proxy settings?

          JB
          • 2. Re: Error 403 during playback in OLT
            Vrushank
            No, this is in the middle of the transaction - the confirmation screen. During recording, I did not get any such error.

            Also, I am behind a corporate proxy and the application is also running on a server within the network.
            • 3. Re: Error 403 during playback in OLT
              834498
              Apparently your http query is a POST sending a ressource file (uploading some docs?) to the server, right?
              Maybe your query is not well formated or not correlated enough.

              You should compare record/playback to figure out the dynamic content which should be correlated.

              There are some links in the forum to find good video or training materials about correlation if you are not familiar with.

              JB
              • 4. Re: Error 403 during playback in OLT
                Vrushank
                I just found out something.

                If I record the script fresh and playback, the FIRST playback passes. Subsequent playbacks keep failing.

                And, there aren't any files required to be uploaded since it is a plain EFT. I just select the source and dest accounts from teh dropdowns and input the amount in the textfield and submit which takes me to the confirmation screen.