已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
感谢以下教程基本是 (沙漠之鸽)给予我的指导的整理而来,他非常耐心的提供了帮助,也是受于他的分享精神,所以写下了这遍教程。前言:做onvif的过程十分痛苦,什么wsdl,soap,webserver,全部都是没有接触过的,还好有gsoap可以用,在网上和群共享里面只有2.8.3版本实现过程,而且比较麻烦的是要自己实现probe所有细节。在2.8.11中,wsddapi插件为我们设计好了wsdd的接口,我们要做的就是填充brobe的matches信息就可以了。简化了开发过程,也不必用高手们做的typemap文件,因为这些看不懂的文件让我们对做出的程序毫无信心。生成.h文件。我们需要从onvif官网下载wsdl文件,和onvif.xsd文件。然后生成.h文件wsdl2h -sck -t /opt/nfshost/gsoap-2.8/gsoap/typemap.dat -o onvif.h analytics.wsdl analyticsdevice.wsdl devicemgmt.wsdl display.wsdl event.wsdl imaging.wsdl media.wsdl ptz.wsdl receiver.wsdl recording.wsdl remotediscovery.wsdl replay.wsdl search.wsdl deviceio.wsdl这一步你会发现生成速度非常慢,还会提示找不到onvif.xsd,速度慢得原因是wsdl2h会根据wsdl中引用去网上下载一下xsd和wsdl文件,我们可以将这些文件下载到本地,然后修改wsdl中的路径。修改之前schemaLocation是一个url,如果你放的和你onvif的wsdl文件相同的目录中,这样写就ok了,如果不是,可以写上相对路径。修改生成的onvif.h文件增加一句#import wsse.h,用于身份验证,具体怎么用还不知道。求帮助生成代码soapcpp2 -2 -L -c -x -d ./ -I /opt/nfshost/gsoap-2.8/gsoap:/opt/nfshost/gsoap-2.8/gsoap/import/:/opt/nfshost/gsoap-2.8/gsoap/custom/ onvif.h生成的过程中会出现SOAP_ENV_Fault重复定义,注视掉wsa5.h中得内容就行了好了,我们的代码已经生成。每个文件具体作用请见查看文档。、将plugin中得文件拷贝到工程、 gsoap/dom.c gsoap/stdsoap2.c gsoap/stdsoap2.h gsoap/custom/duration.c gsoap/plugin/mecevp.c gsoap/plugin/mecevp.h gsoap/plugin/smdevp.c gsoap/plugin/smdevp.h gsoap/plugin/threads.c gsoap/plugin/threads.h gsoap/plugin/wsaapi.c gsoap/plugin/wsaapi.h gsoap/plugin/wsseapi.cgsoap/plugin/wsseapi.hgsoap/plugin/wsddapi.c gsoap/plugin/ wsddapi.h现在我们的webserver中有了这些文件了。实现接口Gsoap在soapStub.h中为我们定义了的函数,我们必须要实现,当然不是要一下子写完,你可以写个空的函数,新建一个c文件,将函数实现。记住一点,WSDD域的方法已经在wsddapi实现。_wsdd_开头的函数不需要实现。Wsddapi需要你实现一些event接口。这个接口是以上函数用来获取信息的,只要将信息填充就可以了。我的probe是这样实现的,当然是最初步的实验,没有信息获取过程 soap_wsdd_init_ProbeMatches(soap,matches); soap_wsdd_add_ProbeMatch(soap,matches, urn:uuid:464A4854-4656-5242-4530-313035394100, dn:NetworkVideoTransmitter, onvif://type/video_encoder onvif://type/audio_encoder onvif://hardware/IPC-model onvif://name/IPC-model, NULL, 43/onvif/device_service,1);以上两行就可以实现probe,是不是很easy啊。Wsddapi文件此时还是编译不过去的,因为默认使用的是wsa5,而wsdd定义的是wsa,所以我们修改soapStu.h注释掉soap_wsa_2005,此时,我们的webserver可以编译通过了。监听组播信息当然,我们还需要监听组播消息。我们此时调用wsaapi中得listen方法就可以了。编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年土地登记代理人之土地权利理论与方法题库200道附参考答案(培优)
- 2026辽宁大连瓦房店市教育系统自主招聘教师58人参考题库附答案解析
- 2026年机械员之机械员专业管理实务考试题库200道及参考答案【新】
- 2026中国储备粮管理集团有限公司湖南分公司招聘历年真题库带答案解析
- 2026山东青岛平度市教育体育系统“平选计划”120人备考题库附答案解析
- 2026年陕西省选调生定向招录(面向湖南大学)模拟试卷带答案解析
- 宜宾市高县事业单位2025年下半年公开考核招聘工作人员(37人)笔试模拟试卷附答案解析
- 2026年陕西省选调生定向招录(面向湖南大学)历年真题库附答案解析
- 2025山东滨州博兴县招聘播音主持人员2人笔试备考试卷附答案解析
- 2025云南文山州砚山县事业单位紧缺岗位招聘5人笔试备考试卷附答案解析
- 围挡专项安全施工方案
- 国家食源性疾病监测工作手册模板
- 通信的知识-家长进课堂
- 急诊医学PPT课件急性意识障碍
- SB/T 11082-2014单用途商业预付卡发卡企业信用评价标准
- LY/T 2246-2014森林消防专业队伍建设和管理规范
- GB/T 3871.3-2006农业拖拉机试验规程第3部分:动力输出轴功率试验
- GB/T 19188-2003天然生胶和合成生胶贮存指南
- GB/T 17908-1999起重机和起重机械技术性能和验收文件
- 部编版语文九年级上册第五单元写作《论证要合理》课件
- 景物描写穿插在记叙文中课件
评论
0/150
提交评论