已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
3天前关闭。
Improve this question
我想创建一个应用程序来控制相机参数(用户/ptz/获取视频)。相机使用的是ONVIF protocol
。
我使用的是Qt框架5.13。
我从onfiv.com找到了gsoap
工具和.wsdl文件,然后我使用https://www.genivia.com/examples/onvif/index.html中的guide从devicemanagement.wsdl创建了.h/.cpp文件,我已经从devicemanagement.wsdl生成了一个代理类,并且Qt上的程序可以使用生成的文件工作,但是我需要用户授权和ptz控制...
如何使用gsoap,onvif规范文件(.wsdl)生成类,哪些用户授权和ptz控件用于Qt?
也许有人在Qt上做了同样的应用程序,可以帮助我。
1条答案
按热度按时间vlju58qv1#
在ptz.wsdl上运行wsdl 2 h:
这假设您在当前目录中有typemap.dat文件和ONVIF名称空间绑定,请参见ONVIF example以获取该文件。
Option -O 4积极地对WSDL进行“切片”,以将代码大小仅减少到必要的组件,请参阅文章Schema Slicing Methods to Reduce Development Costs of WSDL-Based Web Services。
要生成C++代理类:
-C选项指定仅客户端,-j指定代理类,-2指定SOAP 1.2强制,-I用于导入必要的文件。
如果需要WS-Security身份验证,则添加以下行:
到onvif. h文件,如果还没有,那么重新运行soapcpp 2。
编制:
生成了一些源代码文件,其他的是gSOAP库的一部分。
代码生成工具有很多选项,所以这有点取决于您想要完成什么。
如果您想使用QT字符串和类型,那么也可以通过修改typemap.dat文件和使用gsoap/custom中的自定义序列化程序来完成。例如,custom/qstring. h告诉您:
然后重新运行wsdl 2 h以获得QT字符串绑定,将custom/qtstring.cpp与您的项目一起编译。