ArcGIS Explorer Online without Sharing Proxy

3492
6
02-22-2011 06:15 AM
by Anonymous User
Not applicable
I have a Map Service behind a corporate firewall that I would like to display in ArcGIS Explorer Online. I have the service added to My Content but when I select the layer to be displayed in Explorer Online the Silverlight app tries to load the layer through http://www.arcgis.com/sharing/proxy?http://myserviceurl. Is there a way to tell Explorer Online not to use the sharing proxy and just to go right to the service because, of course, ArcGIS Online will not be able to access the Map Service.

This technique works just fine with the Javascript map viewer BTW.
0 Kudos
6 Replies
AndyMacDonald
New Contributor III
If your server is behind your firewall, you need to make sure it has a client access policy file that grants access to it from silverlight applications running on another domain. To do this, you need to place the file (called clientaccesspolicy.xml) in the root virtual directory directory of your web server.

The following article describes the structure of this file: http://msdn.microsoft.com/EN-US/LIBRARY/CC197955(VS.95).ASPX

You can also look at arcgis.com's version of this file for reference: http://arcgis.com/clientaccesspolicy.xml

Andy
0 Kudos
by Anonymous User
Not applicable
Thanks for the reply, Andy! We already have an access policy file in the correct location--that's not the problem. When I attempt to add a layer to ArcGIS Explorer Online, it sends the following request:

GET http://www.arcgis.com/sharing/proxy?http://urltomyserver/MapServer/0?f=json HTTP/1.1
Host: www.arcgis.com
Proxy-Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: esri_auth=%7b%22email%22%3a%22rvernagus%22%2c%22fullName%22%3a%22Ray+Vernagus%22%2c%22token%22%3a%22dcWKqg0rPubrbN20CDzfm4aXB-dH8Pls5oJWBjuP0TUne2hTLlkawvvxnCkS24w9%22%7d; __utmz=38666108.1298771250.34.21.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=arcgis%20online; __utma=38666108.1915104921.1271346758.1298466031.1298771250.34; __utmc=38666108; __utmb=38666108.1.10.1298771250; ESRISESSIONID=konhS%5FJxNlAJWRpDOh1mzQVAQ12M1gQRWw%5F4P%5FKmDzYuLWIKRouRBcjy%5FQHmjsIzr2QeTPxN


The response returned from this request is:
HTTP/1.1 500 Internal Server Error
Content-Language: 
Content-Type: text/html
Date: Sun, 27 Feb 2011 01:52:20 GMT
Server: Sun GlassFish Enterprise Server v2.1
X-Powered-By: Servlet/2.5
Content-Length: 1066
Proxy-Connection: Keep-Alive
Connection: Keep-Alive

[HTML]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><title>Sun GlassFish Enterprise Server v2.1 - Error report</title><style type="text/css"><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><hr/><p><b>type</b> Status report</p><p><b>message</b></p><p><b>description</b>The server encountered an internal error () that prevented it from fulfilling this request.</p><hr/><h3>Sun GlassFish Enterprise Server v2.1</h3></body></html>
[/HTML]


I assume that the 500 error is due to arcgis.com attempting to load the URL that is being passed in--of course that will not work because the URL is private. Any ideas?
0 Kudos
AndyMacDonald
New Contributor III
What is the Url to the map service you are specifying?
0 Kudos
by Anonymous User
Not applicable
What is the Url to the map service you are specifying?


It would be http://myserver/ArcGIS/rest/services where "myserver" is the machine name of a server on our internal network.
0 Kudos
AndyMacDonald
New Contributor III
Can you try:

http://<myserver>.<mydomain>/ArcGIS/rest/services

Andy
0 Kudos
by Anonymous User
Not applicable
Wonderful, that did it! Thanks! 😄
0 Kudos