加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用C,GSOAP和Onvif创建客户端应用程序

发布时间:2020-12-16 07:05:05 所属栏目:百科 来源:网络整理
导读:我正在使用Visual Studio和GSOAP 2.8.15来创建C Onvif客户端. 我已经运行这些命令来创建源代码: wsdl2h -P -x -o onvif.h http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl soapcpp2 -i -C -IC:gsoap-2.8.15gsoap;C:gsoap-2.8.15gsoapim
我正在使用Visual Studio和GSOAP 2.8.15来创建C Onvif客户端.

我已经运行这些命令来创建源代码:

> wsdl2h -P -x -o onvif.h http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl

> soapcpp2 -i -C -IC:gsoap-2.8.15gsoap;C:gsoap-2.8.15gsoapimport onvif.h

然后我将这些文件放在我的MSVC解决方案中:

duration.h/.cpp
soapH.h/soapC.cpp
stdsoap2.h/.cpp

我将此文件添加到目录中,但未添加到解决方案中:

soapStub.h

我将此作为#define添加到编译中:

WITH_NONAMESPACES

我将这个include添加到我的程序的主文件中:

#include "soapDeviceBindingProxy.h"

这给了我一个DeviceBindingProxy对象,但我不知道如何处理它.我想在已知的IP地址连接到Onvif相机并请求有关该设备的信息.

GSOAP示例并非特定于Onvif,而Onvif伪代码示例并非特定于GSOAP.任何帮助,将不胜感激.

解决方法

只需打开DeviceBindingProxy对象的定义(甚至更好:在gSoap生成的源文件上运行doxygen并享受舒适的HTML文档).

它应该为服务提供的每个操作包含一个单独的方法,完全按照服务定义命名.

每种方法都应该采用两个参数:request&响应(它们的类型是指向gSoap生成结构的指针:有关详细信息,请参阅其定义/文档).

您需要做的就是创建请求和实例的实例.响应,填充请求,将指针传递给此方法并从(已经解析的)响应中获取数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读