This discussion is archived
4 Replies Latest reply: Nov 21, 2012 1:27 AM by Vrushank RSS

Error 403 during playback in OLT

Vrushank Newbie
Currently Being Moderated
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 Journeyer
    Currently Being Moderated
    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 Newbie
    Currently Being Moderated
    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 Journeyer
    Currently Being Moderated
    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 Newbie
    Currently Being Moderated
    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.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points