添加SOE后服务无法启动的几种可能原因

在进行SOE扩展开发的过程中,经常会遇到添加SOE后宿主地图服务无法启动的问题,下面就对之前遇到的添加SOE后服务无法启动的几种可能原因及其解决方法总结一下,供大家参考:

一、问题描述:

部署完SOE,对某个服务启用部署的SOE时,出现如下错误信息:
service failed to start
xxxx.MapServer:
ClassFactory cannot supply requested class

问题原因:

原因是在安装ArcGIS Server的时候没有启用.Net的扩展支持。

解决办法:

修复ArcGIS Server,启用.Net扩展支持,同时注意要有对应的.Net Framework,如下图:

1

二、问题描述:

启用SOE时,遇到下面报错信息“Service failed to start”:
2

问题原因1:

开发用的SOE模板与部署机子上的Server版本不一致。比如用ArcObjects 10.3的SOE模板开发的程序部署在10.2上,尽管已经在10.2中重新编译了,但是没有用ArcObjects 10.2的SOE模板,则出现上图错误。

解决办法1:

在ArcObjects 10.2中新建SOE模板工程,把原有代码拷贝过来重新编译即可。

问题原因2:

.Net Framework版本不一致导致。比如SOE程序是用VS2010编译的,使用的.Net Framework版本为4.0,但是Server上只装了.Net Framework 3.5,导致服务无法启动。

解决办法2:

SOE程序使用.Net Framework 3.5重新编译或者Server机上安装.Net Framework 4.0即可。

问题原因3:

开发时程序的目标平台设置的x86,也会报这个错。

解决办法3:

将程序的目标平台改为x64或者AnyCPU重新编译即可。

以上都是指的.Net SOE开发中的常见问题,如果是在java版本中,通常是Java JDK版本的问题。比如在Java JDK 1.6下出错,但1.7下正常,这时要注意查看ArcObjects版本的系统需求,检查该JDK是否满足其支持的JDK版本。

参考链接:

https://www.cnblogs.com/myyouthlife/p/3284291.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值