为与先前版本的 Esri Maps for IBM Cognos 相关的存档文件。如果您需要使用当前版本,请转至 http://doc.arcgis.com/zh-cn/maps-for-cognos/。
在某些情况下,Esri Maps for IBM Cognos 使用内部代理机制以协调与 ArcGIS 平台的通信(除检索的 ArcGIS 项目所引用的任何 Web 服务)。需要时,Esri Maps for IBM Cognos 将向代理发送 HTTP 请求,然后代理将请求转发至远程 Web 服务器(例如 ArcGIS)。最后,代理会将响应转发回 Esri Maps for IBM Cognos。

如果 Esri Maps for IBM Cognos 及其使用的全部数据和 Web 服务均位于同一域内,或者客户端浏览器和所有服务器均支持跨域资源共享 (CORS),则无需使用内部代理。但在大多数生产环境中,此配置并不常见,建议配置内部代理。
大多数现代浏览器都使用推荐的标准,即 CORS。CORS 标准会向 HTTP 规范添加标头,使服务器可描述来源集,从而实现使用 Web 浏览器读取资源及服务。
Esri Maps for IBM Cognos 会自动检测使用 CORS 的服务器,并成功与这些服务器进行通信。但在某些情况下,即便服务器启用了 CORS,初始请求(例如 HTTP POST)也会通过 Esri Maps for IBM Cognos 内部代理自动路由。作为 Esri Maps for IBM Cognos 管理员,您可在 Esri Maps for IBM Cognos 配置文件 (settings.js) 中列出已知启用了 CORS 的服务器的 URL,以确保从这些位置发出的所有调用均自动视为已启用 CORS,从而越过代理。
要指定启用 CORS 的服务器,请执行以下步骤:
配置文件在 EM4C Gateway 中位于以下位置:<em4c_location>/webcontent/esrimap/configuration/settings.js
每个 URL 需使用引号括起,多个 URL 需使用逗号隔开。
例如:corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]
内部代理的设计虽然在最大程度上减少了其自定义配置,但您仍可自定义其设置以仅允许对特定服务器的请求,也就是说,您可以指定代理转发请求所到达的目标资源。
要配置内部代理设置,请使用标准文本编辑器修改代理配置文件。
代理配置文件 (proxy.conf) 位于 EM4C Gateway 中,位置为 <em4c_location>/temp/proxy.conf。
要定义 Esri Maps for IBM Cognos 允许访问的 URL,请在单独的 serverUrl 属性中指定各项 URL。为每个服务器创建单独的 serverUrl 属性,Esri Maps for IBM Cognos 必须访问该服务器以检索地图服务。
例如:matchUrls = true
serverUrl = http://www.arcgis.com
serverUrl = https://arcgis.com
serverUrl = http://myserver.mycompany.com
要测试内部代理,请通过该代理路由 HTTP 请求。如果代理返回预期值,则表示运行正常。以下步骤例举了若干调用,模拟出 Esri Maps for IBM Cognos 将产生的 HTTP 流量。
http://myibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi
成功访问内部代理后,页面会显示时间戳,例如 Thu Oct 02 07:34:52 PDT 2014。如果未得到预期响应,则请验证内部代理配置设置。
例如,以下各个 URL 均应返回描述服务器中安装的软件版本的 JSON 对象。
例如,以下各个 URL 均应返回描述服务器中安装软件版本的 JSON 对象:
如果得到成功结果,则表示代理配置正确,可正常工作。
如果 Esri Maps for IBM Cognos 必须使用其内部代理,则内部代理必须能够将 HTTP 请求转发至所需的目标资源(例如地图服务)。某些环境下,防火墙规则会阻止发送这些请求;例如,防火墙可能会阻止 HTTP 流量传出内部网络。
要解决这一问题,您可配置上游转发代理。
上游代理可实现网络外部的连接,而不破坏内部网络的安全。上游代理的一种常见使用方法是在外围网络中安置代理服务器,来保护内部网络。

上游代理本身代表企业级第三方(非 Esri)解决方案。它不属于 Esri Maps for IBM Cognos。
Esri Maps for IBM Cognos 代理配置文件中包含可用于配置上游代理的属性。
要配置上游代理设置,请使用标准文本编辑器修改代理配置文件。
http://<address>:<port>
其中:
例如:upStreamProxy = true
upStreamProxyUrl = http://proxy.mycompany.com:8888