Windows下生成onvif代码
一、准备工作
1.1、gsoap下载
1.2、onvif需要的wsdl文件以及.xsd文件下载
主要文件下载地址:wsdl下载右键另存为就能保存到本地
修改wsdl中的schemaLocation的路径为本地地址
二、代码生成(离线)
2.1、新建一个目录用于存放生成文件,将wsdl2h.exe、soapcpp2.exe(exe位于解压目录gsoap-2.8\gsoap\bin\win32
目录下)、typemap.dat(gsozp目录下)拷贝到该目录
2.2、生成onvif.h目录
wsdl2h -o onvif.h -c -s -t ./typemap.dat devicemgmt.wsdl media.wsdl event.wsdl display.wsdl deviceio.wsdl imaging.wsdl ptz.wsdl receiver.wsdl recording.wsdl search.wsdl remotediscovery.wsdl replay.wsdl analytics.wsdl analyticsdevice.wsdl actionengine.wsdl accesscontrol.wsdl doorcontrol.wsdl
wsdl2h -help查看对应的帮助信息
一堆的wsdl,报错了就根据相应的文件,改对应的文件位置,如果提示缺少wsdl文件且在官网未找到,则根据typemap.dat在对应目录下载
PS:经过一番修改,onvif.h已经生成
2.3、修改onvif文件
#import "wsse.h"用于身份验证
2.4、生成源文件
soapcpp2.exe -2 -x -Iimport -Icustom onvif.h
soapcpp2.exe -help 查看对应的帮助信息
三、在线生成(受限网络以及网站)
wsdl2h -t ../gsoap/gsoap-2.8.17/gsoap/typemap.dat -o onvif.h http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/events/wsdl/event.wsdl http://www.onvif.org/onvif/ver10/display.wsdl http://www.onvif.org/onvif/ver10/deviceio.wsdl http://www.onvif.org/onvif/ver20/imaging/wsdl/imaging.wsdl http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl http://www.onvif.org/onvif/ver10/receiver.wsdl http://www.onvif.org/onvif/ver10/recording.wsdl http://www.onvif.org/onvif/ver10/search.wsdl http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl http://www.onvif.org/onvif/ver10/replay.wsdl
源文件
soapcpp2 -2 -x -d ./onvifgen/ -I ../gsoap/import/ -I ../gsoap/ onvif.h
- [1] 代码下载