使用gsoup生成onvif相关代码

本文详细介绍了如何使用gsoap工具生成Onvif相关代码,包括下载gsoap、生成头文件、创建C文件、编译openssl库、建立工程并测试,以及在遇到问题时的解决方案。关键步骤包括:自定义onvif.dat文件,使用wsdl2h和soapcpp2生成头文件和.c文件,解决编译时的外部符号错误,以及在Linux环境下交叉编译openssl库。
摘要由CSDN通过智能技术生成


一.下载gsoap文档

官网下载地址:http://www.cs.fsu.edu/~engelen/soap.html

下载相应的gsoup压缩文档,解压之后路径gsoap-2.8\gsoap\bin\win32下有需要的可执行文件。这两个文件时windows下生成的可执行文件。

wsdl2h.exe  wsdl2h.exe,根据wsdl生成一个头文件(比如A.h),这是个临时文件,下一步骤执行完后自动删除即可

soapcpp2.exe   soapcpp2.exe是可以生成构建C++ SOAP客户端所需的C++源码的预编译器,该预编译器的输入参数是一个标准的C/C++头文件,这个头文件可以由WSDL解析器根据相关的WSDL文档自动生成

总体认识,wsdl2h.exe根据参数从网络上下载与协议相关的wsdl数据,生成wsdl对应协议的头文件。  soapcpp2.exe根据头文件生成协议具体实现的api接口,这些接口都对应的调用了xml解析,封装以及数据的网络传输


二.生成相应的头文件


1gsoap-2.8\gsoap目录下拷贝typemap.dat文件到目录gsoap-2.8\gsoap\bin\linux386gsoap-2.8\gsoap\bin\win32,重命名为onvif.dat

2打开onvif.dat,把第91行的注释号#去掉。(为了映射WSDL中的xsd__dateTimeC/C++中的timeval类型),把第97行最前面加上注释号#。(为了不映射WSDL中的xsd__durationC/C++中的LONG64类型,而映射为char *类型)

3onvif.dat文件末尾添加下列语句(onvif核心规范5.3)

wstop =http://docs.oasis-open.org/wsn/t-1

wsnt =http://docs.oasis-open.org/wsn/b-2

wsrf-r =http://docs.oasis-open.org/wsrf/r-2

wsrf-bf =http://docs.oasis-open.org/wsrf/bf-2

wsd =http://schemas.xmlsoap.org/ws/2005/04/discovery

tt =http://www.onvif.org/ver10/schema

tds =http://www.onvif.org/ver10/device/wsdl

trt =http://www.onvif.org/ver10/media/wsdl

timg =http://www.onvif.org/ver20/imaging/wsdl

tev =http://www.onvif.org/ver10/events/wsdl

tev1 =

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值