English

How To: Install ArcIMS on sites that use Network Address Translation

Summary

Network Address Translation (NAT) provides Web sites the ability to have one address visible to the internet, while other machines behind the firewall provide all the Web content. For instance, when you visit the site http://www.esri.com, you are actually receiving the html pages from another machine behind ESRI’s firewall, but as far as your browser is concerned, it receives the information from www.esri.com.

With ArcIMS, this becomes an issue if you are serving pages from a machine which is behind the firewall, but is NATed from your external site.

Procedure

  • Image map services: Change the Server Output HTTP location to reflect the path that will be resolved from outside the firewall.

    For example:
    From: http://mymachine/output
    To: http://www.esri.com/output
  • Java-client Web pages: Modify the default.axl file. The URL paths to each of the services subscribed by this page are contained in the <WORKSPACES> section. Change the URL to be resolvable from outside. For example:

    From:

    Code:
    <IMAGESERVERWORKSPACE name="ifs_ws-4" url="http://mymachine/servlet/com.esri.esrimap.Esrimap" service="USA" />

    To:
    Code:
    <IMAGESERVERWORKSPACE name="ifs_ws-4" url="http://www.mywebsite.com/servlet/com.esri.esrimap.Esrimap" service="USA" />

  • HTML-client web pages: Modify the ArcIMSParams.js file. In it, two variables are hardcoded with the URL to your MapServices. Locate the following section:

    Code:
    //*********************************************************************
    //* parameters set by Designer
    //*********************************************************************
    var imsURL = 'http://mymachine/servlet/com.esri.esrimap.Esrimap?ServiceName=USA';
    var imsOVURL = 'http://mymachine/servlet/com.esri.esrimap.Esrimap?ServiceName=USA';

    Change these variables to point to your external website URL:

    Code:

    var imsURL = 'http://www.mywebsite.com/servlet/com.esri.esrimap.Esrimap?ServiceName=USA';
    var imsOVURL = 'http://www.mywebsite.com/servlet/com.esri.esrimap.Esrimap?ServiceName=USA';