Howto: 使用ArcGIS Silverlight API通过HTTPS访问rest服务

文章编号 : 37035
软件: ArcGIS API for Microsoft Silverlight/WPF 9.3.1
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

摘要: 这篇文章详细介绍了在使用ArcGIS Silverlight API时,使用SSL(HTTPS)怎样访问rest服务。

内容: 为了确保使用SSL(HTTPS)可以成功访问rest服务,那么silverlight API应用程序消费的服务必须放置在SSL可以访问的虚拟目录里。否则,会违反“cross-scheme”,导致地图不能显示。
1 在ArcGIS Server的机器上安装SSL证书。
安装SSL的方法
在IIs管理器中,在“默认网站”下,勾选上“要求SSL”。



在浏览器中,输入https://<ServerName>/arcgis/rest/services进行测试。
2 在管理rest服务的机器上,放置crossdomain.xml和clientaccesspolicy.xml在wwwroot文件夹下。

crossdomain.xml:

<?xml version="1.0" ?>
- <cross-domain-policy>
<allow-access-from domain="*" />
<site-control permitted-cross-domain-policies="all" />
<allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>

clientaccesspolicy.xml:
<?xml version="1.0" encoding="utf-8" ?>
- <access-policy>
- <cross-domain-access>
- <policy>
- <allow-from http-request-headers="*">
<domain uri="*" />
<domain uri="http://*" />
</allow-from>
- <grant-to>
<resource path="/" include-subpaths="true" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
要确保通过https://<ServerName>/crossdomain.xml和https: //<ServerName>/clientaccesspolicy.xml可以访问到crossdomain.xml和 clientaccesspolicy.xml.

3 确保虚拟输出路径可以使用SSL访问。比如:https://<ServerName>/arcgisputput.
A 打开ArcCatalog>打开ArcGIS Server-打开Map Service ProPerties对话框>新加一个https访问的输出目录。

B 在Map Service ProPerties对话框中,使用新建的虚拟输出目录。




4 下面的步骤使silverlight应用程序可以使用SSL.
在管理silverlight程序的机器上安装SSL证书。仿照第一步。
5 创建一个简单的siverlight程序。
添加使用https访问的动态服务(ArcGISDynamicMapServiceLayer),比如:
https://%26lt%3BServerMachine% ... rver.
6 在IIS,将这个silverlight应用程序转换成应用,并创建一个虚拟目录指向它。
7 在虚拟目录的属性对话框里,在“Directory Security”标签下,选择“要求SSL”。如下图:




8 使用https访问silverlight程序,测试的url如下:

https://%26lt%3BClientMachineN ... ion1/ SilverlightApplication1.Web/ SilverlightApplication1TestPage.html





创建时间:2009-07-29
最近更新: 2010-06-22


原文链接
http://support.esrichina.com.cn/2009/0729/965.html

要回复问题请先登录注册