SOE使用

2024-02-09 17:58
文章标签 使用 soe

本文主要是介绍SOE使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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才进入断点。



这篇关于SOE使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/694917

相关文章

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准