Onvif协议2:使用wsdl生成onvif代码(wsse和digest鉴权)

本文详细介绍了如何使用gSOAP库,通过Wsdl文件生成C/C++代码,实现Onvif协议的Digest鉴权认证。内容包括准备gSOAP环境,生成onvif.h文件,修改代码以支持wsse鉴权,生成静态库,构建应用,并解释了Digest鉴权的工作原理和安全性对比HTTP基本认证。
摘要由CSDN通过智能技术生成

目录

1. 准备

2. 使用命令生成onvif.h文件

3. wsse鉴权认证

4. 生成C/CPP代码

5. 转换为静态库

6. 构建应用  

7. Digest鉴权


1. 准备

使用gsoap版本gsoap_2.8.132.zip,

创建generateCode文件夹

将\gsoap-2.8\gsoap下的plugin,import,custom复制到generateCode

将编译生成的wsdl2h和soapcpp2复制到generateCode目录下

将\gsoap-2.8\gsoap下的stdsoap2.cpp,stdsoap2.h,dom.cpp复制到generateCode

将\gsoap-2.8\gsoap下的typemap.dat复制到generateCode

在generateCode文件夹中创建build文件夹。

Wsdl包含了本地将要使用的wsdl

2. 使用命令生成onvif.h文件

进入build目录

../wsdl2h -x -t ../typemap.dat -o onvif.h http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.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/search.wsdl http://www.onvif.org/onvif/ver10/display.wsdl http://www.onvif.org/onvif/ver10/deviceio.wsdl http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl http://www.onvif.org/onvif/ver10/receiver.wsdl http://www.onvif.org/ver20/imaging/wsdl/imaging.wsdl http://www.onvif.org/onvif/ver10/replay.wsdlhttp://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl http://www.onvif.org/ver10/schema/onvif.xsd http://www.onvif.org/onvif/ver10/recording.wsdl

通过以上方式可以在线下载,无需使用离线文件。或者提前下载到wsdl目录中,那么将指定所用wsdl的路径。

执行完毕后,会自动生成一个onvif.h。</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值