在获取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的的解决方法的更多相关文章

  1. Python安装pywinauto时遇到error: The read operation timed out解决方法

    Python结合Pywinauto 进行 Windows UI 自动化,安装pywinauto时遇到的一些问题: 解决方法:很明显是链接超时国外网站你懂的V_P_N吧,直接通过报错信息的链接复制到浏览 ...

  2. libevent在windows下用visual studio编译时出现error C2894错误的原因与解决方法

    libevent是一个使用很广泛的网络库,今天想了解下它.于是去git clone了一份源码,用vs2005的命令行:nmake -f makefile.nmake编译之,顺利编译通过,生成三个静态库 ...

  3. MyEclipse+Tomcat 启动时出现A configuration error occured during startup错误的解决方法

    MyEclipse+Tomcat 启动时出现A configuration error occured during startup错误的解决方法 分类: javaweb2013-06-03 14:4 ...

  4. 动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法

    [导读]ServiceDescriptionImporter是创建Web Service 时使用的类,它是引用继承System.Web.Services 当我将VS2005里写的一段代码放在VS201 ...

  5. extjs folder is lost解决方法 和 FineUI主题切换时 iframe内的内容主题不变的解决方法

    错误原因:extjs包和FineUI版本不一致 或者是 webconfig配置中 没有设置为任何人可访问  解放方法下载和FineUI版本相同的extjs包就ok了 解决方法:FineUI主题切换时 ...

  6. SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法

    原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...

  7. 使用PullToRefreshListView时遇到Item点击事件失效问题 解决方法

    最近在自己的项目中使用到了以下开源项目: https://github.com/nanchen2251/pullToRefreshDemo 相关介绍博客如下: http://www.cnblogs.c ...

  8. jsp 页面导出excel时字符串数字变成科学计数法的解决方法

    web导出excel数据格式化 原文地址:http://www.cnblogs.com/myaspnet/archive/2011/05/06/2038490.html   当我们把web页面上的数据 ...

  9. 编译安装php时提示Cannot find MySQL header files的解决方法

    php的配置文件中有一行--with-mysql=/usr/local/mysql ,安装的时候提示:configure: error: Cannot find MySQL header files ...

随机推荐

  1. JAVA 分布式 - 分布式介绍

    什么是分布式系统? 要理解分布式系统,主要需要明白一下2个方面: 1.分布式系统一定是由多个节点组成的系统. 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的. 2.这些连通的节点 ...

  2. MySql与SqlServer的区别

    1.SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运 ...

  3. 探索ORM ————iBati(一)

    ibatis   iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目.最初侧重于密码软件的开发,现在是一个基于Jav ...

  4. 树莓派2 raspyberry Pi2 交叉编译app

    Pi 使用的是ARMV7架构的BCM2836, 下载交叉编译器 arm-linux-gnueabihf-gcc 即可. 本地环境: Ubuntu14 + x86_64 1. 下载编译器地址: 1). ...

  5. Prometheus Node_exporter 之 Basic Net / Disk Info

    1. Network Traffic Basic 每个接口的基本网络信息 type: GraphUnit: bytesrecv {{device}} 各个网络接口的下载量 recv lo: 本地环回接 ...

  6. Linux下卸载安装mysql

    1.卸载命令:# rpm -qa |grep -i mysql # yum remove mysql-community mysql-community-server mysql-community- ...

  7. 理解http请求

    HTTP请求的GET方法可以用来抓取网页. HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则,计算机专家设计出HTTP,使HTTP客户(如Web浏览 ...

  8. 铁乐学python_day21_面向对象编程3

    抽象类和接口类 以下内容大部分摘自博客http://www.cnblogs.com/Eva-J/ 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某 ...

  9. iptables简单规则记录

    先来一句:好记性不如烂笔头! 1.iptables简介 iptables是基于包过滤的防火墙,它主要工作在osi模型的2,,4层,也可以工作在7层(iptables + squid) 2.原理 防火墙 ...

  10. Hadoop HBase概念学习系列之模式设计(十)

      Hbase与RDBMS的区别在于:HBase的Cell(每条数据记录中的数据项)是具有版本描述的(versioned),行是有序的,列(qualifier)在所属列簇(Column familie ...