target='CFH.ConfigurationFactoryHost' 

machine='IBM3850X5' 

thread='24072' 

elapsed='0.31200'>Server Object instance is successfully created on machine IBM3850X5.</Msg> 

<Msg 

time='2011-11-15T13:25:49' 

type='INFO3' 

code='4006' 

target='CFH.ConfigurationFactoryHost' 

machine='IBM3850X5' 

thread='24072' 

elapsed='0.32800'>Server Context created.</Msg> 

<Msg 

time='2011-11-15T13:25:50' 

type='INFO3' 

code='4007' 

target='CFH.ConfigurationFactoryHost' 

machine='IBM3850X5' 

thread='24708' 

elapsed='0.99800'>Server Context released.</Msg> 

<Msg 

time='2011-11-15T13:25:50' 

type='INFO3' 

code='4000' 

target='nmdis/topic_binhaishidi.MapServer' 

thread='22952'>Container 

6732 

is 

successfully 

created on machine IBM3850X5.</Msg> 

<Msg 

time='2011-11-15T13:25:50' 

type='INFO3' 

code='4001' 

target='nmdis/topic_binhaishidi.MapServer' thread='22952'>Thread 17336 is successfully created 

on container 6732 of machine IBM3850X5.</Msg> 

<Msg 

time='2011-11-15T13:25:52' 

type='INFO3' 

code='10092' 

target='nmdis/topic_binhaishidi.MapServer' 

methodName='MapServer.MapReader

.Open' 

machine='IBM3850X5' process='6732' thread='17336'>MapReader.Open has started.</Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='INFO3' 

code='10093' 

target='nmdis/topic_binhaishidi.MapServer' 

methodName='MapServer.MapReader

.Open' 

machine='IBM3850X5' 

process='6732' 

thread='17336' 

elapsed='0.73728'>MapReader.Open 

has 

completed.</Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='ERROR' 

code='1016' 

target='nmdis/topic_binhaishidi.MapServer' 

machine='IBM3850X5' 

thread='22952' 

elapsed='3.05800'>Server Object instance creation failed on machine IBM3850X5.    </Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='INFO3' 

code='4002' 

target='nmdis/topic_binhaishidi.MapServer' 

thread='22952'>Container 

6732 

of 

machine 

IBM3850X5 is removed.</Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='INFO3' 

code='4003' 

target='nmdis/topic_binhaishidi.MapServer' 

thread='22952'>Thread 

17336 

removed 

from 

process 6732 of machine IBM3850X5.</Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='ERROR' 

code='1008' 

target='nmdis/topic_binhaishidi.MapServer' 

thread='25292'>Configuration 

nmdis/topic_binhaishidi.MapServer can not be started.</Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='INFO3' 

code='4006' 

target='CFH.ConfigurationFactoryHost' 

machine='IBM3850X5' 

thread='22812' 

elapsed='0.00000'>Server Context created.</Msg> 

<Msg 

time='2011-11-15T13:25:53' 

type='INFO3' 

code='4007' 

target='CFH.ConfigurationFactoryHost' 

machine='IBM3850X5' 

thread='24536' 

elapsed='0.01600'>Server Context released.</Msg> 

<Msg 

time='2011-11-15T13:26:23' 

type='INFO1' 

code='2033' 

target='CFH.ConfigurationFactoryHost' 

thread='25236'>The 

Server 

Object 

instance 

is 

shutting 

down because the Idle Timeout Interval has elapsed</Msg> 

<Msg 

time='2011-11-15T13:26:23' 

type='INFO3' 

code='4002' 

target='CFH.ConfigurationFactoryHost' thread='25236'>Container 5296 of machine IBM3850X5 is 

removed.</Msg> 

<Msg 

time='2011-11-15T13:26:23' 

type='INFO3' 

code='4003' 

target='CFH.ConfigurationFactoryHost' 

thread='25236'>Thread 

18088 

removed 

from 

process 

5296 of machine IBM3850X5.</Msg> 

2  

问题分析

2.1 

软件环境

环境如下:

Windows Server 2008 R2

操作系统(自带

IIS 7.5

ArcGIS Server 10.0 .NET

版本。

2.2 

原因猜测

根据以往经验,猜测可能有以下原因。

2.2.1 

许可过期

这个原因最先被排除,因为客户已经购买了永久的正式许可。况且,影像服务和

GP

服务都

可以发布。

2.2.2 

内存不足

测试的机器上有

8GB

内存,服务发布失败时,内存占用只有

50%

,所以,基本排除内存不

足的可能。

2.2.3 

安全限制

这个可能性较大,比如防火墙,数据访问权限等。

于是首先检查了防火墙,已经全部关闭,排除该可能。

然后对数据权限进行检查:

确保当前

ArcGIS 

Server

账户(已经集成到

Administrator

)对测试用的

Shapefile

文件夹及

Shapefile

文件具有读写权限,经测试依然存在同样的问题;

Shapefile

数据导入

File 

Geodatabase

中,确保用户对

File 

Geodatabase

的访问权限,经测

试依然存在同样的问题;

Shapefile

数据导入

ArcSDE

,经测试依然存在同样的问题;

经过上面的测试,也基本排除了权限不足的可能性。

2.2.4 

数据错误

这个可能性也比较大,于是对数据进行测试。

从之前成功发布,

并且现在正常运行的服务数据源中拿出几个图层来测试,

发现依然存在同

样的问题;

完全创建一个新的

Shapefile

,编辑添加最简单的图形,依然存在同样的问题;

对发布失败的地图文档进行优化分析,

没有任何错误和警告,

保存为

msd

文档再进行发布,

依然存在同样的问题;

经过上面的测试,也基本排除了数据错误的可能性。

3  

问题解决

3.1 

问题定位

经过上面的分析,确认许可正确,内存足够,权限正确,数据正确,并且影像服务、

GP

务都可以发布,因此最大的可能性,应该是地图服务相关的配置信息出了问题。

而我在发布地图服务的时候,

除了指定服务名称,

其他属性完全使用了默认的配置信息,

此推断,应该是默认的配置信息除了问题。

但是以前发布的服务都是采用的默认配置,

为何就没有问题呢?于是将新发布的服务属性与

正在运行的服务属性进行一一对比,发现了问题,原有服务的输出目录为

None

,图片返回

类型为

MIME only

,如下图:

而新发布的服务,输出目录已经指定,虚拟目录为空,但是图片返回类型却是

MIME+URL

的方式!如下图所示:

到这里,终于找到了问题的所在,于是开始验证:

将输出目录改为

None

,图形返回类型自动变为

MIME 

only

,再启动服务,成功!再发布新

的地图服务,成功!

这是权宜之计,还是使用正确的虚拟目录更好一些,于是下面就重新设置正确的虚拟目录。

3.2 

更改目录

ArcCatalog

或者

ArcMap

Catalog

面板中,

找到

GIS

服务器连接,

然后在服务器上右键—

—服务器属性,打开“目录”标签页,如下图所示:

果不其然,虚拟目录是空的。点击编辑按钮,为该目录指定虚拟目录,如下图所示:

输入的虚拟路径应该是在

Web

服务器上真实存在的,如下图在

IIS

中:

依次为缓存目录、

输入目录、

输出目录、

工作目录和索引目录指定虚拟路径,

然后关闭服务

器属性对话框。

再对地图服务属性进行修改,将输出目录指定为本机

arcgisserver

下的

arcgisoutput

,此时虚

拟路径就自动填充为刚才指定的路径,图片返回方式也自动调整为

MIME+URL

方式,重启

服务,成功!

小结

其实问题并不是很复杂,

但是造成问题的原因有很多,

需要我们冷静地一一分析排除,

直到

找出最后的真凶。

解决问题的思路,

应当是首先根据自己或别人的经验,

将可能的原因一一列出,

然后逐个分

析和测试,

多借助各类工具,

如日志、

网络分析工具等等。

当你把可能的原因一一排除的时

候,真相也就很快会浮出水面。

到这里,

问题终于已经解决了,

之前我也从网上查了一些资料,

也问题了很多人,

答案都是

五花八门的,

但没有与我遇到的情况一样的,

所以特意将这种情况记录下来,

希望将来有人

遇到同样问题时,能有一个参考

最新文章

  1. 使用startActivityForResult场景模拟
  2. yum安装指定(特定)版本(旧版本)软件包的方法
  3. JBPM4.4与SSH2之整合
  4. java多线程的使用1
  5. 实现IHttpModule接口,给每个页面输出一段脚本
  6. Spring与Struts整合
  7. I.MX6 wm8962 0-001a: DC servo timed out
  8. 使用astyle格式化代码
  9. read/load
  10. jquery ajax提交及请求
  11. Mysql 常用引擎的特点及选择使用策略
  12. 腾讯云服务器上安装phstudy和lnmp
  13. IIS域名转发
  14. 有哪些你不知道的python小工具
  15. 改写了禁用或启用oracle数据库的约束的存储过程
  16. openresty 一些可选的模板引擎
  17. MySQL 分区间进行数据展示 实例
  18. sqlite3 插入数据的时候,返回SQLITE_CONSTRAINT
  19. 香侬科技独家对话Facebook人工智能研究院首席科学家Devi Parikh
  20. SSH框架整合思想

热门文章

  1. java 泛型编程学习
  2. HBase工程师线上工作经验总结----HBase常见问题及分析
  3. emacs配置eslint 语法检查.找不到node解决
  4. CentOS7:Puppet推送Zabbix Agent
  5. APP开发和web开发的区别
  6. mave web常用配置文件参数
  7. HttpContextBase转换成HttpContext对象
  8. cocos2d-x:懒人数学函数
  9. jquery文件上传控件 Uploadify
  10. 1、基于MFC的OpenGL程序