Onvif工作整理总结(二)问题及解决汇总

这篇博客总结了Onvif在与IPC设备交互过程中遇到的错误码问题及其解决方案,包括-1、8、4、401的含义和处理方法。遇到问题如接收失败、IPC无法识别的命名空间、鉴权错误、内存泄漏等,博主提供了详细的解决思路和参考链接。
摘要由CSDN通过智能技术生成

Onvif工作整理总结(二)问题及解决汇总

Onvif问题及解决汇总

错误码

目前见过的错误码返回值为:-1,4,8,12,401,其实错误码的值并不重要,当我们发现有错误时,应该使用调试工具ONVIF Device test tool等去模拟发送和接收,并查看接收到的错误信息的打印,最为可靠;

  1. 在组播搜索设备、单播搜索设备等功能中,使用函数 :

soap_recv___wsdd__ProbeMatches(struct soap *soap, struct __wsdd__ProbeMatches *_param_1)

返回值 soap->error = -1;

解决方法:接收失败,多为IPC离线、网络问题、可以尝试查看设备是否在线,或者调大接收超时时间来调试。

  1. 获取设备能力(GetCapabilities)时,使用函数:

SOAP_FMAC5 int SOAP_FMAC6 soap_call___tds__GetCapabilities(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct _tds__GetCapabilities *tds__GetCapabilities, struct _tds__GetCapabilitiesResponse *tds__GetCapabilitiesResponse)

返回值 soap->error = 8;

解决方法:遇到IPC无法识别的命名空间,不使用初始化头文件函数1,使用初始化头文件函数2(平时用函数1,当判断到return == 8,就调用函数2,再重新获取能力即可);
初始化头文件函数1:bool OnvifInitHeader(struct soap* pSoap)

struct SOAP_ENV__Header *header = NULL;
if(NULL == pSoap) return false;
header = (struct SOAP_ENV__Header *)OnvifSoapMalloc(pSoap, sizeof(struct SOAP_ENV__Header
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值