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
方式,重启
服务,成功!
4
小结
其实问题并不是很复杂,
但是造成问题的原因有很多,
需要我们冷静地一一分析排除,
直到
找出最后的真凶。
解决问题的思路,
应当是首先根据自己或别人的经验,
将可能的原因一一列出,
然后逐个分
析和测试,
多借助各类工具,
如日志、
网络分析工具等等。
当你把可能的原因一一排除的时
候,真相也就很快会浮出水面。
到这里,
问题终于已经解决了,
之前我也从网上查了一些资料,
也问题了很多人,
答案都是
五花八门的,
但没有与我遇到的情况一样的,
所以特意将这种情况记录下来,
希望将来有人
遇到同样问题时,能有一个参考
ARCGIS Server 发布服务时出现的问题解决的更多相关文章
- 不同网段无法加载ArcGIS Server发布服务解决方法
问题描述: ArcGIS Server 10发布的服务, (1)在相同网段的Desktop9.3和Engine 9.3程序下可以正常显示, (2)在不同网段Desktop9.3和Engine 9.3程 ...
- ArcGIS Server发布服务,报错001270
错误001270 这个问题一般是因为数据源文件太大导致. 解决办法: 对于001270的错误,官方帮助中给出了一些可能的原因并提供了相应的解决办法(http://resources.arcgis.c ...
- ArcGIS Server发布服务,打包成功,发布失败
打包成功,发布失败 部分解决方案: ① 查看Server对于源数据所在文件夹是否有读写权限,若无赋予Server账户至少读写权限.读写权限的赋予:对应存放数据的文件夹上右键→属性→ 安全 赋予ar ...
- Arcgis Server发布服务
提到Arcgis Server 服务的发布,做起来貌似很简单,就算电脑再卡,只要鼠标还能点,一个小时肯定能搞定,但是当你遇到问题的时候,就头大了,也许搞上个一两天都摸不着头脑,最后你采取的措施可能是一 ...
- ArcGIS Server发布服务,报错00032
错误00032 独立表数据源无法访问 00032: 修复已断开的数据连接,具体做法是将每个独立表的数据源都设置为正确的位置. 或者,如果不需要该表,将其从文档中移除. 建议在ArcMap中重新加载数据 ...
- ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务
1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...
- ArcGis server发布地图服务
ArcGIS server发布服务: 首先修改地图文档属性中的关联默认数据库 最后使用分享将地图服务发布到server上,是地图服务可以使用: 注意一定要勾选 Feature Access选项 fea ...
- 使用ArcGIS Server发布我们的数据
原文:使用ArcGIS Server发布我们的数据 引言 上一篇我们已经安装好了ArcGIS体系的服务软件,这一篇将介绍如何把我们自己的数据通过ArcGIS Server发布出去,并且能够通过Web页 ...
- ArcGIS Server GP服务发布与测试(基础版)
版本:ArcGIS Server 10.4 环境:win10 测试目标:创建一个GP服务,功能为根据要素属性信息(如FID)选择出输入内容的对应匹配要素. 注:这个测试非常基础,仅供新手发布GP ...
随机推荐
- Mysql的row_format
在mysql中, 若一张表里面不存在varchar.text以及其变形.blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一 ...
- 用ADO.NET存入数据库
点击按钮存入登录名和密码: const string connstr = @"data source=USER-20160705UW\JSQL;initial catalog=Test;in ...
- PLSQL不好用,提示ora-12514 错误解决方法
我的PLSQL不好用,提示ora-12514 错误时 我分两步干的: 1:用户名,密码,不写,提示错误后,cancel登陆 tools->preference左侧选->connection ...
- .NET DataSet、DataTable操作记录
一直在习惯.net的编程思维,或是说C#吧.因为前几年一直在用PHP做站,现在用.net很不习惯,主要C#都依赖对控件.类的熟悉,不然很多功能都实现不了. 需求 最近做了一功能,从SQL Server ...
- 尚学堂Spring视频教程(一):模拟Spring
Spring简单的说就是作为控制反转的容器,看这篇文章前需要先搞懂“控制反转和依赖注入“这个设计模式 我们先来模拟Spring,实现用户添加的功能,新建WEB项目”Spring_0100_Abstra ...
- Android学习起步 - AutoCompleteTextView及MultiAutoCompleteTextView控件使用
大家在用百度搜索时,输入几个词就出现下拉框可选,以下两个控件就具有这个功能 AutoCompleteTextView:只能匹配输入的开始,只有一次匹配 MultiAutoCompleteTextVie ...
- Linux中exit与_exit的区别
在exit,_exit的区别 - exit()与_exit()函数的区别(Linux系统中)2012-03-20 15:19:53 分类: LINUX 注:exit()就是退出,传入的参数是程序退出时 ...
- SQL语句Where中使用别名作为判断条件
当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件. 例如下面的SQL语句: select id, (c1 + c2) as s from t1 where ...
- 7、IMS - DNS & ENUM
1.相关基础SBC:http://blog.sina.com.cn/s/blog_7a6f76080100vp9r.html 2.ENUM/DNS查询过程:http://blog.sina.com.c ...
- 1不等于1?numeric、decimal、float 和 real 数据类型的区别
大家有没有在SQL中遇见1不等于1(1<>1)的情形!?下面会有一个例子演示这个情形. 先简单介绍一下标题中的四种数值数据类型. 在T-SQL中,numeric和decimal是精确数值数 ...