Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am building a Google Earth API application using a map service (using ArcGIS Server 10) that has KMZ/KML capabilities. For some reason, I am able to access the KMZ layer within our network. But, does not work outside our network.

I am loading the KMZ file using the fetchKML method: google.earth.fetchKml(ge, IMG_URL_TO_LOAD, finished_and_visible);

I am using IIS7 as the web server and have added MIME types for both KMZ and KML.

Any suggestions to what might be the problem?

share|improve this question
add comment

2 Answers

Most likely it is because your firewall blocks the requst. Maybe your firewall does not allow connections to port 8399. Also MYSERVER must be accessible from outside your firewall. If it is your company's public webserver it is most likely accessible and then it is probably the port number that is the problem. If MYSERVER is not accessible you must make it available through the firewall or move to your public webserver.

How you fix this depends very much on your network and which firewalls you are using, but as a start you might need something of the reverse proxy concept to make your arcgis server accessible through the firewall. For REST services you can also write your own proxy and deploy it on the webserver. The proxy basically forwards the request to the arcgis server. On This page there is a link to a sample proxy for the REST API.

share|improve this answer
    
I really appreciate your response. It turns out that I was using this structure to create my kmz files: MYSERVER/arcgis/rest/services/imagery/modis_yearly/MapServer/… The problem is that when the kmz was exported, the url to the actual image service had the machine name in it: MACHINENAME/ArcGIS/services/imagery/modis_yearly/MapServer/… Obviously this was only seen within our network and would not display outside our network. Do you know if there is a way to fix this? –  Rie Mino Apr 6 '12 at 18:33
add comment

When constructing a custom KML network link using Manager, the KMZ file is automatically copied to your virtual root directory and is available at http:/// /kml for everyone to access. Simply open this location in a browser to view all the custom KML Network Links for your server.

enter image description here

for ArcGIS 10 Server

Click the Services tab in Manager.
Click KML Network Links.
Click Create Network Link.
Specify the name of your link. The name will be embedded in the Name tag in the file and will be used as the file name. Optionally, you can provide a short and long description. The long description allows embedded HTML tags and URLs.

When you've finished typing names and descriptions, click Next.
Choose the map service for which you want to create a network link. Map services for which you have disabled the KML capability are not available.
Check the layers from the service that you want to include in your network link. By default, all layers are checked.
Specify how the layers should draw. The first two options will return rasterized representations of your vector features. The third option will return the actual vectors. Once you've finished setting this property, click Next.
Set the Refresh, View, and Hostname options according to the way you want the network link to behave. The default options are sufficient for many network links.
Optionally, use Google Earth to edit the link, enhance its properties, or embed it within a new link. You can save the enhanced link as KMZ, then use the steps below to publish it back to your server.

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Creating_a_KML_network_link_from_a_map_service/005300000038000000/

How can you find the URL for a particular service?

enter image description here http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//005300000036000000

share|improve this answer
    
I appreaciate your response. Actually, I am creating the KMZ dynamically from an existing map service using the instructions found here:atlas.resources.ca.gov/arcgis/SDK/REST/generatekml.html This is how I am constructing the url that produced the KMZ file: MYSERVER:8399/arcgis/rest/services/imagery/modis_yearly/… Again, this does work from within our network, but when I try to access the site outside our network, it fails to load the KMZ files. Any thoughts? –  Rie Mino Apr 3 '12 at 17:56
add comment

Your Answer

 
discard

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.