This is an archive related to a previous version of Esri Maps for IBM Cognos. If you need the current version go to http://doc.arcgis.com/en/maps-for-cognos/.
Under some circumstances, Esri Maps for IBM Cognos uses an internal proxy mechanism to broker communication with the ArcGIS platform (in addition to any web services referenced by retrieved ArcGIS items). When required, Esri Maps for IBM Cognos sends HTTP requests to the proxy, and the proxy forwards the requests to the remote web server (such as ArcGIS). The proxy then relays the response back to Esri Maps for IBM Cognos.
The internal proxy is not used if Esri Maps for IBM Cognos and all the data and web services it uses are on the same domain, or if both the client browser and all servers support Cross-Origin Resource Sharing (CORS). In most production environments, however, this configuration is not common, and configuring the internal proxy is recommended.
Most modern browsers use the recommended standard, Cross-Origin Resource Sharing (CORS). The CORS standard adds headers to the HTTP specification that allow servers to describe the set of origins that are permitted to read resources and services using a web browser.
Esri Maps for IBM Cognos automatically detects servers that use Cross-Origin Resource Sharing (CORS) and communicates with these servers without issue. In some cases, however, the initial request (an HTTP POST, for example) is automatically routed through the Esri Maps for IBM Cognos internal proxy, even though the server is CORS-enabled. As an Esri Maps for IBM Cognos administrator, you can list the URLs for known CORS-enabled servers in the Esri Maps for IBM Cognos configuration file (settings.js) to ensure that all calls originating from those locations are automatically considered CORS-enabled, thereby bypassing the proxy.
To specify CORS-enabled servers:
The settings file is on the EM4C Gateway in the following location: <em4c_location>\webcontent\esrimap\configuration\settings.js
Each URL must be enclosed within quotation marks, with multiple URLs separated by commas.
For example: corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]
Although the internal proxy is designed to work with minimal custom configuration, you can customize its settings to allow only requests to specific servers; that is, you can specify the resources to which the proxy will forward requests.
To configure the internal proxy settings, modify the proxy configuration file using a standard text editor.
The proxy configuration file (proxy.conf) is located on the EM4C Gateway at em4c_location>\temp\proxy.conf.
To define the URLs that Esri Maps for IBM Cognos is allowed to access, specify each individual URL in a separate serverUrl property. Create a separate serverUrl property for every server that Esri Maps for IBM Cognos must access to retrieve map services.
For example:matchUrls = true
serverUrl = http://www.arcgis.com
serverUrl = https://arcgis.com
serverUrl = http://myserver.mycompany.com
To test the internal proxy, route an HTTP request through it. If the proxy returns the expected value, it is working correctly. The following steps provide examples of calls that simulate the HTTP traffic that Esri Maps for IBM Cognos would generate.
http://myibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi
When you successfully access the internal proxy, the page displays a time stamp, for example, Thu Oct 02 07:34:52 PDT 2014. If you do not receive the expected response, verify your internal proxy configuration settings.
For example, each of the following URLs should return a JSON object that describes the version of the software installed on the server.
For example, each of the following URLs should return a JSON object that describes the version of the software installed on the server:
A successful result means that your proxies are properly configured and working as expected.
In situations in which Esri Maps for IBM Cognos must use its internal proxy, the internal proxy must be able to forward HTTP requests to the intended target resources (such as map services). In some environments, firewall rules prevent these requests from being sent; for example, the firewall may prevent HTTP traffic from leaving the internal network.
To solve this problem, you can configure an upstream forwarding proxy.
An upstream proxy allows connections outside the network without compromising the security of the internal network. One common approach to using an upstream proxy is to place a proxy server in a perimeter network to protect the internal network.
The upstream proxy itself represents an enterprise-level, third-party (non-Esri) solution. It is not part of Esri Maps for IBM Cognos.
The Esri Maps for IBM Cognos proxy configuration file contains properties that allow you to configure an upstream proxy.
To configure upstream proxy settings, modify the proxy configuration file using a standard text editor.
http://<address>:<port>
where:
For example:upStreamProxy = true
upStreamProxyUrl = http://proxy.mycompany.com:8888