在应用flex 调用arcgis server 发布时候,出现一个Error #2048的问题,结果查来问去得出一个结论。
使用IIS发布的话:安装的arcgis server 是for .net的,
而使用TOmcat发布的话: 使用arcgis server for java,这是必须的,之前不知道,我是装的.net的server想在tomcat下发布肯定不行了。
然而还值得注意的就是
1.
使用tomcat发布的时候(server for java版本的)往往要在(arcgis安装目录)\java\web_output下加入一个文件
“crossdomain.xml”
代码如下:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-http-request-headers-from domain="*" headers="*"/>
<allow-access-from domain="*"/>
</cross-domain-policy>
具体作用我也不知道。
2.
使用IIS发布的话这个文件就要放到C:\Inetpub\wwwroot下了。
而后用IIS发布时候遇到一个问题:
flex中运行时候,在网页中出现:Host post cannot be null的错误,这个问题很郁闷。
解决办法:由于arcgis server的端口我设置的是8808,而IIS是80 ,两个端口要对应起来,因此在web application post install中重新设定一个server 端口设定为与IIS一样的80,就可以了。
还有个问题,就是Error: E0005E: 无效的切片服务: 的问题。
解决办法:由于我在flex中用的是:<esri:ArcGISTiledMapServiceLayer url =。。。。。。。。。。。
ArcGISTiledMapServiceLayer 这种发布方式是要设定缓存的,而缓存问题确实是个问题,我也不懂。
然后改为了<esri:ArcGISDynamicMapServiceLayer url="。。。>
ArcGISDynamicMapServiceLayer这个不需要设置缓存,这个就把 Error: E0005E: 无效的切片服务 这个问题解决掉了‘、、、
希望对大家有所帮助。
arcgis server发布地图服务遇到的小问题会很多。这里就简单介绍这些,因为那些都还没有遇到。希望大家互相借鉴。