SOE使用

来源:互联网 发布:天猫dw美工教程 百度云 编辑:程序博客网 时间:2024/05/21 11:12

1.使用Arcgis 的模板例子选择新建-->ESRI模板-->ArcObjects Sample

选择simplerestsoe,然后finish完成例子的创建.或者直接到E:\Program Files (x86)\ArcGIS\DeveloperKit10.4\java\samples\arcobjects\serverobjectextensions\simplerestsoe

路径找到例子代码。这个例子是只有rest服务的soe扩展。


2.默认例子在lib目录已经有了JavaSimpleRESTSOE.soe文件.该文件可以用快压打开查看里面的内容,主要是一个xml描述文件和对应的SimpleRESTSOE.jar文件.

我们为了调试,需要自己重新生成soe文件,用自带的调式不了. 工程右键选择ArcGIS,然后选择SOE/SOI导出,只要勾选SRC下面的文件就可以了。然后finish即可。


3.在arcgis manager使用,在站点-->扩展-->添加扩展,选择我们的soe文件就可以。然后发布一个服务,勾选我们的扩展服务即可。

4.调用我们扩展服务的rest接口,只要选择勾选扩展服务的test服务-->功能-->Java Simple REST SOE 点击就可以看到rest服务url,点击就可以进行测试。


5.调试SOE,在arcgis manager进行调试配置。


如果要调试soe的init方法,可以勾选设置暂停服务启动,设置延迟启动的时间。这里不需要只是配置端口起始范围,配置后重新启动test的服务。

根据文档在arcgis server manager的log日志可以看到待远程连接调试的端口号。实际我并未找到过滤设置精细都没有,只有lience过期的一些警告。


这里我的eclipse和arcgis server都是一台机器,不管直接查询端口哪个在监听(9000--9005).

可以看到9001端口启动了。


然后我们在eclipse的工程进行remote application的配置,右键工程debug config,注意下面host因为是本机所以是localhost,如果是其他机器设置对应ip,端口选择9001

然后debug就可以了。

再次查9001端口,可以看到sid的eclipse程序正在用55082端口连接9001端口。



如果要杀进程可以用taskkill /PID 11032 ,如果要强制杀进程可以看帮助(taskkill /?)使用/F参数。


设置SOE代码,在arcgis server manager中点击之前的rest接口,调用对应的方法就可以进入断点了。


今天早上重启服务之后,断点不起作用。查看发现端口变了,原来9001端口找不到,但是9002、9003、9004都是soc进程在监听。修改eclipse的端口到9003才进入断点。



原创粉丝点击