Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to set up the proxy for my web application because the request exceeds 2000 characters. I set up the proxy as described in ESRI site. When I run my application I get the error as shown below

**"Unable to load http://localhost/proxy.ashx?http://T...nction/execute Status:403"**

I put my web application (one HTML page with javascript api code) and the two proxy files to my development machine's root folder. This machine is XP.

I have Geoprocessing service running on another machine (TestServer). When the length of GP request exceeds the limit, the application tries to use proxy and that is when I see the error above. This machine is Win 2008.

Status 403 is Forbidden page error.

share|improve this question
What do the ISS logs say? – Devdatta Tengshe Mar 16 '13 at 7:09

Have you created an application, in IIS manager, using the folder that the proxy is located? If the folder is say agsproxy then you would have


In the javascript, you would have = "/agsproxy/proxy.ashx";

You may want to use CORS though now.. removing the need for proxy (better performance)

//add CORS servers"YOURTESTSERVER");"");"");"");"");
share|improve this answer
Thank for the response. Yes I did create the application in IIS Manager as described in ESRI site. I tried by have in the files in IIS rootfolder and also in another folder created as application. None of these seems to work. What is CORS? How do I use in Javascript API page? Let me do some research? Any ESRI document on this? Is there anything to do with proxy and Geoprocessing Service call? – Cyril Mar 15 '13 at 20:12
Just add the above CORS line in your initialize function (init()) and that's it!… – awesomo Mar 15 '13 at 21:33
I get javascript error is null. Then I tried = ['vdev03:6080/'];and = ['vdev03']; Did not work. – Cyril Mar 16 '13 at 3:54
You should push onto the array because there are a few esri servers by default added.'vdev03:6080'); – awesomo Mar 18 '13 at 16:54

You must add the final destination URL to the proxy.config file for the proxy handler. If you don't, it will respond with a 403 Forbidden code.

If "mustMatch" and "matchAll" are both set to true, then the proxy page will determine if the URL to be proxied starts with the same text as the serverUrl in configuration. You may need to prefix the URL with the protocol, e.g.

share|improve this answer
Thanks for responding. I do have the full path. I tried with and without /execute at the end. /exiecute is added by the GP service exceute method. <serverUrl url="vdev03:6080/arcgis/rest/services/MapLegalDescriptionFunction/…; matchAll="false"></serverUrl></serverUrl> </serverUrls> – Cyril Mar 15 '13 at 19:35
Since matchAll is false, the proxy page is doing a full string comparison - you should use the full URL that is being passed to proxy.ashx for the url argument. – mwalker Mar 15 '13 at 20:17
I had already tested with both MatchAll and MustMatch as true. It did not help me. – Cyril Mar 16 '13 at 3:54
If the line in the above comment is a copy-and-paste, then you still need to put http:// at the beginning of the url. – mwalker Mar 18 '13 at 16:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.