[GIS] Help getting the flex service publicly accessible

arcgis-10.1arcgis-flex-viewerarcgis-serverweb serviceweb-mapping

My organization is trying to get our web maps up and running. I have created a simple web map service on our in house ArcGIS server, using the Arcgis flexviewer that is visible locally, works great, and is visible on arcgis.com.

We have a 2 server set up where Server A is our internal server that everyone in the company stores their data on. this is the machine we have our install of ArcGIS 10.1 for server on. It is not public, and for internal staff use only.Server B on the other hand is off site and set up by a company that hosts our website to specifically host our web maps. It is in a DMZ and set up to get through our company firewall. It is just a simple web server running IIS 7 and has the ArcGIS Web Adaptor installed .They, like me, have no experience in setting something like this up so I'm learning as much as I can along the way..

We have our flex map up and running [here] which is great. What is not so great is the error that is popping up when the flex map is opened. It looks like my data, which consists of a a few poly lines, some points and some labels, are not making it over to Server B from Server A. I guess my real question is what do I need to do to get the data from Server A show up in my flex app on server B.

If anyone can shed some light on this that would be great.

Best Answer

[overhauled answer to address the OP's comments]

@cl3, nice job getting your mapping application in the public web scope. When I run your app with Fiddler open, I do see that it's trying to fetch a crossdomain.xml policy file.

In the root of your web scope (i.e. whatever resolves exclusively to nwrpdc2012.com), create a file there named crossdomain.xml, and inside it paste the following block:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

If your problem goes away, read up on crossdomain policy files and decide if you want to make it more restrictive. Obviously this one is very tolerant of off-domain requests.