李艳军

 

ARCGIS Server 发布服务时出现的问题解决

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

方式,重启

服务,成功!

小结

其实问题并不是很复杂,

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

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

直到

找出最后的真凶。

解决问题的思路,

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

将可能的原因一一列出,

然后逐个分

析和测试,

多借助各类工具,

如日志、

网络分析工具等等。

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

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

到这里,

问题终于已经解决了,

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

也问题了很多人,

答案都是

五花八门的,

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

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

希望将来有人

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

posted on 2015-08-04 11:32  李艳军  阅读(2998)  评论(0编辑  收藏  举报

导航