Hi,
One
of our clients is trying to use a PrintTask that is hosted in one of our
servers (ArcGIS Server 10.1). The printed map can contain few graphic elements.
That's why the call to the task supposed to be done automatically by POST and not GET. It works well in Chrome,
Mozilla, IE10 and up. Unfortunately it does not work in IE (specially IE8 and IE9).
The only way to do it is using a Proxy that forces the request to be sent by POST but the client does not allow a proxy on his server from Information
Security reasons. When we put a Proxy in one of our servers, the end user must set the option of "Access data sources across domains"
under Security Tab to enable or prompt (if it is disabled, it does not work) and this is not acceptable.
My questions are:
Enclosed with the code, with which you can reproduce the problem. Few Notes:
//esriConfig.defaults.io.proxyUrl = "http://82.166.80.134/PrintMap/proxy.ashx";
//esriConfig.defaults.io.alwaysUseProxy = false;
If you uncomment them, the PrintTask will use proxy but the option of "Access data sources across domains" must be enabled in IE.
Thanks a lot,
Miri
Hi Miri,
IE strictly follows the URL length of 2048 characters. if you have a request which is longer than 2048 you need to use POST method, for which you need proxyurl.
What is your client's security concern about using proxy page.
If you can't convince your client to use proxy page and still want to use IE, then you may have to build a post request something like below (NOT RECOMMENDED)
Also move this discussion to ArcGIS API for JavaScript for better help
PS: Don't know how chrome is toggling between get and post request, if you find out how do post back.
Hi Riyas,
Thank you for your reply. I would like to be able to build a POST request from the beginning, I just don't know how to do it in the code that calls the printTask.
The client insists to prevent using Proxy on his site. He thinks it is a Security breach and in a way, he is right.
Thanks again,
Miri