Onvif获取rstp地址GetCapabilities能力时,出现error 4或者52的的解决方法
在获取Onvi能力soap_call___tds__GetCapabilities的接口中有时候会出现error:4或者52的情况,是因为在soapC.c中用不到extension,所以我们必须得把它注释掉。比如:
if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__Network*******,
即以soap_flag_Extension && soap->error条件下和 soap_in_PointerTott__Network条件下的都要注释掉。soap_in_PointerTott__Network*******有很多个,以下是我注释的代码:
1、
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__CapabilitiesExtension(soap, "tt:Extension", &a->Extension, "tt:CapabilitiesExtension"))
{ soap_flag_Extension--;
continue;
}
}*/
2、
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkCapabilitiesExtension2(soap, "tt:Extension", &a->Extension, "tt:NetworkCapabilitiesExtension2"))
{ soap_flag_Extension--;
continue;
}
}
if (soap->error == SOAP_TAG_MISMATCH && !soap_peek_element(soap))
{ if (a->__any == NULL)
{ if (soap_blist___any == NULL)
soap_blist___any = soap_alloc_block(soap);
a->__any = (char *)soap_push_block_max(soap, soap_blist___any, sizeof(char));
if (a->__any == NULL)
return NULL;
soap_default_byte(soap, a->__any);
}
if (soap_in_byte(soap, "-any", a->__any, "xsd:byte"))
{ a->__size++;
a->__any = NULL;
continue;
}
}*/
3.
/* if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkZeroConfigurationExtension2(soap, "tt:Extension", &a->Extension, "tt:NetworkZeroConfigurationExtension2"))
{ soap_flag_Extension--;
continue;
}
}
if (soap->error == SOAP_TAG_MISMATCH && !soap_peek_element(soap))
{ if (a->__any == NULL)
{ if (soap_blist___any == NULL)
soap_blist___any = soap_alloc_block(soap);
a->__any = (char *)soap_push_block_max(soap, soap_blist___any, sizeof(char));
if (a->__any == NULL)
return NULL;
soap_default_byte(soap, a->__any);
}
if (soap_in_byte(soap, "-any", a->__any, "xsd:byte"))
{ a->__size++;
a->__any = NULL;
continue;
}
}*/
4.
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkInterfaceSetConfigurationExtension2(soap, "tt:Extension", &a->Extension, "tt:NetworkInterfaceSetConfigurationExtension2"))
{ soap_flag_Extension--;
continue;
}
}
if (soap->error == SOAP_TAG_MISMATCH && !soap_peek_element(soap))
{ if (a->__any == NULL)
{ if (soap_blist___any == NULL)
soap_blist___any = soap_alloc_block(soap);
a->__any = (char *)soap_push_block_max(soap, soap_blist___any, sizeof(char));
if (a->__any == NULL)
return NULL;
soap_default_byte(soap, a->__any);
}
if (soap_in_byte(soap, "-any", a->__any, "xsd:byte"))
{ a->__size++;
a->__any = NULL;
continue;
}
}*/
5.
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkInterfaceExtension2(soap, "tt:Extension", &a->Extension, "tt:NetworkInterfaceExtension2"))
{ soap_flag_Extension--;
continue;
}
}
if (soap->error == SOAP_TAG_MISMATCH && !soap_peek_element(soap))
{ if (a->__any == NULL)
{ if (soap_blist___any == NULL)
soap_blist___any = soap_alloc_block(soap);
a->__any = (char *)soap_push_block_max(soap, soap_blist___any, sizeof(char));
if (a->__any == NULL)
return NULL;
soap_default_byte(soap, a->__any);
}
if (soap_in_byte(soap, "-any", a->__any, "xsd:byte"))
{ a->__size++;
a->__any = NULL;
continue;
}
}*/
6.
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkZeroConfigurationExtension(soap, "tt:Extension", &a->Extension, "tt:NetworkZeroConfigurationExtension"))
{ soap_flag_Extension--;
continue;
}
}*/
7.
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkProtocolExtension(soap, "tt:Extension", &a->Extension, "tt:NetworkProtocolExtension"))
{ soap_flag_Extension--;
continue;
}
}*/
8.
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkInterfaceSetConfigurationExtension(soap, "tt:Extension", &a->Extension, "tt:NetworkInterfaceSetConfigurationExtension"))
{ soap_flag_Extension--;
continue;
}
}*/
9.
/*if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkInterfaceExtension(soap, "tt:Extension", &a->Extension, "tt:NetworkInterfaceExtension"))
{ soap_flag_Extension--;
continue;
}
}*/
10.
/* if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)
{ if (soap_in_PointerTott__NetworkHostExtension(soap, "tt:Extension", &a->Extension, "tt:NetworkHostExtension"))
{ soap_flag_Extension--;
continue;
}
}*/
大约有10个左右,不知道还有没有漏网之鱼,所以大家在找的时候可以搜索if (soap_in_PointerTott__Network,把
if (soap_flag_Extension && soap->error == SOAP_TAG_MISMATCH)条件下的都把它注释掉就可以了。
Onvif获取rstp地址GetCapabilities能力时,出现error 4或者52的的解决方法的更多相关文章
- Python安装pywinauto时遇到error: The read operation timed out解决方法
Python结合Pywinauto 进行 Windows UI 自动化,安装pywinauto时遇到的一些问题: 解决方法:很明显是链接超时国外网站你懂的V_P_N吧,直接通过报错信息的链接复制到浏览 ...
- libevent在windows下用visual studio编译时出现error C2894错误的原因与解决方法
libevent是一个使用很广泛的网络库,今天想了解下它.于是去git clone了一份源码,用vs2005的命令行:nmake -f makefile.nmake编译之,顺利编译通过,生成三个静态库 ...
- MyEclipse+Tomcat 启动时出现A configuration error occured during startup错误的解决方法
MyEclipse+Tomcat 启动时出现A configuration error occured during startup错误的解决方法 分类: javaweb2013-06-03 14:4 ...
- 动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法
[导读]ServiceDescriptionImporter是创建Web Service 时使用的类,它是引用继承System.Web.Services 当我将VS2005里写的一段代码放在VS201 ...
- extjs folder is lost解决方法 和 FineUI主题切换时 iframe内的内容主题不变的解决方法
错误原因:extjs包和FineUI版本不一致 或者是 webconfig配置中 没有设置为任何人可访问 解放方法下载和FineUI版本相同的extjs包就ok了 解决方法:FineUI主题切换时 ...
- SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...
- 使用PullToRefreshListView时遇到Item点击事件失效问题 解决方法
最近在自己的项目中使用到了以下开源项目: https://github.com/nanchen2251/pullToRefreshDemo 相关介绍博客如下: http://www.cnblogs.c ...
- jsp 页面导出excel时字符串数字变成科学计数法的解决方法
web导出excel数据格式化 原文地址:http://www.cnblogs.com/myaspnet/archive/2011/05/06/2038490.html 当我们把web页面上的数据 ...
- 编译安装php时提示Cannot find MySQL header files的解决方法
php的配置文件中有一行--with-mysql=/usr/local/mysql ,安装的时候提示:configure: error: Cannot find MySQL header files ...
随机推荐
- Vue 框架-08-基础实战 demo
Vue 框架-08-基础实战 demo 前面介绍了有 7 篇了,都是小实例,没有相对完整的应用,虽然有些功能挺实用,但还是有的不常用的,今天记录一篇关于前几篇基础内容的实战 demo,也是对 Vue ...
- canvas验证码 - 随机字母数字
基于canvas制作随机生成数字英文组合验证码效果,点击或刷新会自动重组.输入验证码提交验证效果代码. <div class="verification"> <i ...
- redis mysql验证 redis_mysql_check.py
# coding:utf-8 import pymysql import redis import sys def con_mysql(sql): db = pymysql.connect(host= ...
- scp远程传输文件和ssh远程连接
ssh使用方法 如果从一台linux服务器通过ssh远程登录到另一台Linux机器, 这种情况通常会在多台服务器的时候用到. 如用root帐号连接一个IP为192.168.1.102的机器,输入:“ ...
- leetcode题解之Find the Duplicate Number
1.题目描述 2.分析 利用C++的 标准模板库 set 对数组进行读取,然后插入,如果检测到元素已经在set内部,则返回该元素值即可.时间复杂度为 O(n),空间复杂度为 O(n); 3.代码 in ...
- java基础——队列
目录 前言 基础 实现: 两个队列模拟一个堆栈 前言 java已经提供了堆和栈的相对应的类,这里只是模拟一下队列. 队列是一种先进先出的线性表. 基础 java5中新增加了java.util.Queu ...
- MyEclipse中修改servlet模板
1.在MyEclipse目录下搜索com.genuitec.eclipse.wizards,得到搜索结果 com.genuitec.eclipse.wizards_8.4.100.me20091213 ...
- C#获取文件路径的几种方法
//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. string str5=Application.StartupPath;//可获得当前执行的exe的文件名. string str1 ...
- 使用CocoaPods
使用CocoaPods 1. 安装CocoaPods 有时候,默认的 https://rubygems.org/ 访问不了,你需要先执行以下命令移除掉sources gem sources -r ht ...
- 深入浅出SharePoint2013——获取Application Pool的id和name对照表
PS C:\Users\Mingle> Get-SPServiceApplicationPool | select Id, Name Id Name-- ----f864f712-faa4-4a ...