使用C++、GSOAP和Onvif制作客户端应用程序
Making a client application with C++, GSOAP, and Onvif
我正在使用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&response(它们的类型是指向gSoap生成的结构的指针:有关详细信息,请参阅它们的定义/文档)。
您所需要做的就是创建request&响应,填充请求,将指针传递到此方法,并从(已解析的)响应中获取数据。
相关文章:
- C++库和自注册类:客户端应用程序中的工厂映射为空
- CMake导出的库-在客户端应用程序中找不到include/Lib路径
- GDB执行时,Apache IGNITE C 客户端应用程序具有许多细分故障
- 如何将OpenCV的输出显示或流式传输到HTML页面或其他一些客户端应用程序
- 如何在Qt客户端应用程序中显示我的OSM磁贴
- 在DLL中分配内存并将其指针提供给客户端应用程序,这是不是一种糟糕的做法
- 通过不同的线程(多线程多孔客户端应用程序)使用多个球体
- 将我的简单winsock服务器/客户端应用程序变形为简单的Web服务器
- 使用 OpenShift 进行公共客户端应用程序端口转发
- 为什么从客户端应用程序调用 PL/SQL 调用 SQL 引擎
- Solr与客户端C++应用程序
- 提高了从客户端应用程序大规模导入MS SQL 2008数据库的速度
- 从无到有构建本机客户端应用程序
- 使用C++、GSOAP和Onvif制作客户端应用程序
- 调试与发布库版本在调试/发布客户端应用程序中有不同的行为
- 自定义客户端应用程序-需要控制文档保存的位置
- 简单的c++服务器-客户端应用程序与winsock
- 您是否可以拥有一个具有管理员权限的DLL,该DLL从仅具有用户级权限的客户端应用程序链接
- 对服务器/客户端应用程序使用Kerberos身份验证
- 如何在不生成大量测试客户端应用程序的情况下切换元素和容器类型以进行基准测试