ArcgisServer发布服务时错误

更新时间:2023-07-25 17:17:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

前言:这类问题解决第一步,看出现问题时提示的错误提示,若没有错误提示,去server的log中找到产生问题时的日志,看里面这类问题产生的原因。

一、Access to output directory is denied(原创)

一、问题

Access to output directory is denied

二、问题描述

无法启动服务,Access to output directory is denied

三、问题原因

当前用户、SOM、SOC用户没有写权限

四、解决方法

赋予对这些用户对临时文件的写权限

二、Probable cause: The network path is inaccessible to ArcGIS Server Object Container account.

问题描述

arcgisserver发布服务时 无法启动服务,没有任何外在的错误提示

问题原因

某些指定路径不存在

解决方法

找到arcgisserver发布服务需要对应的文件夹,若没有,则按照指定路径创建,详情可参考第三条。

三、ArcGIS常见问题解决之Server Object instance creation failed on machine xxx

1.1 问题症状

在客户现场进行开发测试的时候发现,无法在ArcGIS Server上发布新的地图服务,但是可以发布影像服务、GP服务,已经发布的地图服务都可以运行。发布服务时具体的错误信息是:Server Object instance creation failed on machine xxx。

1.2 日志信息

查看日志信息,记录如下:

<Msg time='2011-11-15T13:25:48' type='INFO1' code='3007' target='Server' thread='25292'>Attempt to start configuration nmdis/topic_binhaishidi of type MapServer.</Msg>

<Msg time='2011-11-15T13:25:49' type='INFO3' code='4000' target='CFH.ConfigurationFactoryHost' thread='24072'>Container 5296 is successfully created on machine IBM3850X5.</Msg>

<Msg time='2011-11-15T13:25:49' type='INFO3' code='4001' target='CFH.ConfigurationFactoryHost' thread='24072'>Thread 18088 is successfully created on container 5296 of machine IBM3850X5.</Msg>

<Msg time='2011-11-15T13:25:49' type='INFO3' code='4004'

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'

target='CFH.ConfigurationFactoryHost' machine='IBM3850X5'

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

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

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'

target='nmdis/topic_binhaishidi.MapServer' type='INFO3' code='10092' methodName='MapServer.MapReader.Open' type='INFO3' code='4007' thread='24708' code='4000' target='nmdis/topic_binhaishidi.MapServer' thread='22952'>Container 6732 is successfully 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'

target='nmdis/topic_binhaishidi.MapServer' type='ERROR' code='1008' thread='25292'>Configuration

code='4006'

thread='22812'

code='4007'

thread='24536' nmdis/topic_binhaishidi.MapServer can not be started.</Msg> <Msg time='2011-11-15T13:25:53' type='INFO3' target='CFH.ConfigurationFactoryHost' machine='IBM3850X5' elapsed='0.00000'>Server Context created.</Msg> <Msg time='2011-11-15T13:25:53' type='INFO3' target='CFH.ConfigurationFactoryHost' machine='IBM3850X5'

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方式,重启服务,成功!

4 小结

其实问题并不是很复杂,但是造成问题的原因有很多,需要我们冷静地一一分析排除,直到找出最后的真凶。

解决问题的思路,应当是首先根据自己或别人的经验,将可能的原因一一列出,然后逐个分析和测试,多借助各类工具,如日志、网络分析工具等等。当你把可能的原因一一排除的时候,真相也就很快会浮出水面。

到这里,问题终于已经解决了,之前我也从网上查了一些资料,也问题了很多人,答案都是五花八门的,但没有与我遇到的情况一样的,所以特意将这种情况记录下来,希望将来有人遇到同样问题时,能够多一个参考

本文来源:https://www.bwwdw.com/article/s3qm.html

Top