onvif 开发框架生成,解决在线/本地生成https,ssl/tsl错误,以及原理解释

本文旨在详细的描述如何生生ONVIF 框架和最近ONVIF官网更新后无法在线生成https/ssl/tls错误的解决办法!


首先框架生成需要GSOAP,至于怎么下载,详细过程便不再描述:建议在阅读本文章之前,先通读一遍如下文档,不需要上手操做,但是新手们,提前了解一部分,很有必要!

开发框架生成:http://blog.csdn.net/lvwx369/article/details/39551659

还是框架生成:http://blog.csdn.net/saloon_yuan/article/details/24901597

PS:当初我框架生成,便是这2篇文档带路,不过是在线生成,困于网络,倒是搞了好几天!

最近涉及到项目有一些修改,要求使用最新的ONVIF框架,结果不小心编译的时候,出现HTTPS/SSL之类的错误,起初被忽悠是gsoap的问题,还傻兮兮的编译了一遍gsoap,哎,心累!具体的解决办法后面会描述!

gsoap命令行:http://www.cnblogs.com/hgwang/p/5840265.html

onvif 官网wsdl下载地址:https://www.onvif.org/profiles/specifications/ 

下载带.wsdl和xsd的文件,保存到本地!

把所有下载gsoap 和wsdl放到一个文件夹,还有这个目录\gsoap-2.8\gsoap\bin\win32下的也拷到一起,额,还有typemap.dat,也放到一起然后

onvif 开发框架生成,解决在线/本地生成https,ssl/tsl错误,以及原理解释_第1张图片

。。。。。。忘了之前的博客说的文件目录撒的,妥妥的!

注意了哦:开始干活了,准备工作已搞定!

Cmd  进入到刚才存放文件的目录 运行wsdl2.exe  -o onvif.h -s -t typemap.dat accesscontrol.wsdlaccessrules.wsdl actionengine.wsdl advancedsecurity.wsdl analytics.wsdlanalyticsdevice.wsdl credential.wsdl deviceio.wsdl devicemgmt.wsdl display.wsdldoorcontrol.wsdl event.wsdl imaging.wsdl media.wsdl media2.wsdlprovisioning.wsdl ptz.wsdl receiver.wsdl recording.wsdl replay.wsdlschedule.wsdl search.wsdl thermal.wsdl

  PS:具体命令自己看 GSOAP 工具那个连接,根据需求自己输入命令

然后:。。。。。。。。。就出错了,没毛病


意思是在读取actionengne.wsdl的时候找不到onvif.xsd,所有我们用记事本打开这个wsdl,


诺,路径他使用的../ver10/schema/onvif.xsd"  想想我们的放哪儿了!同级目录,那就改改呗,

改完后在生成一次!又出现了另外一个WSDL找不到XSD的问题,那就在改呗!改到没错为止!!!

好了,开始了,出现ssl/tsl 之类的错误了仔细读一下!


然后打开WSDL看看,


所以,有人懂了没?这里的onvif.xsd使用的是HTTP连接,想到https那个问题了没?在http连接不上的时候,会使用https来进行连接,所以ssl的错误就这么出来了,既然找到问题了,解决办法也就有了:就是按照上面的,将wsdl里面的路径改成本地,在线生成方式,那就去官网找到xsd那个文件,把地址获取,替换到WSDL;估计是之前ONVIF官网在进行改版的时候,对地址做了修改,导致现在http连接不上,就出现连接https导致ssl之类的错误!然后就是改啊改,比竟一堆!

onvif 开发框架生成,解决在线/本地生成https,ssl/tsl错误,以及原理解释_第2张图片

所以,终于搞定了

然后在ONVIF.H里,添加一句#import“wsse.h”用于鉴权!大概在100行左右

然后执行如下命令,具体命令还是看gsoap哪个连接下的博客,此处不详述!!!

soapcpp2 -2   onvif.h  –j  –x  –L  –I  ./gsoap_2.8/gsoap/import  –I  gsoap-2.8/gsoap

直到出现如下界面,好了,ONVIF 开发框架生成完成!

onvif 开发框架生成,解决在线/本地生成https,ssl/tsl错误,以及原理解释_第3张图片

至于该如何整理生成的文件,包括鉴权所需的一些头文件,这些网上基本都能搜索到,多看看也就理解了!

开发方面的问题,欢迎加入QQ群:465200732一起交流,资源共享!

注:转载请注明出处,谢谢


你可能感兴趣的:(onvif)