在获取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. Chrome 插件推荐

    我在这里就是抛砖引玉,各位开发者,有更好的插件请不要吝啬,分享出来. 希望世界和平! 翻译类 沙拉查词 目前使用,感觉挺好的,各种词典,还有统计.划词划句都可以翻译出来. JSON 格式转换 JSON ...

  2. ubuntu 下mysql导入出.sql文件

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导 ...

  3. Linux内存管理(text、rodata、data、bss、stack&heap)

    一.各内存区段的介绍 系统内的程序分为程序段和数据段,具体又可细分为一下几个部分: (1)text段-代码段 text段存放程序代码,运行前就已经确定(编译时确定),通常为只读,可以直接在ROM或Fl ...

  4. django新建项目,连接mysql数据库

    安装django,进入Django目录,运行 python setup.py install 在workplace目录下新建一个名为site01的项目: cd workplacedjango-admi ...

  5. Spring中的统一异常处理方式

    源自:https://segmentfault.com/a/1190000016236188 在具体的SSM项目开发中,由于Controller层为处于请求处理的最顶层,再往上就是框架代码的. 因此, ...

  6. EF CodeFirst下的自动迁移

    当我们修改数据模型,添加一个如下字段 再次运行程序,会因为数据库结构与模型不一致而报错 为解决以上错误可以采取以下三种方式 1.  删除数据库,重新运行站点,会重新生成数据库,这样就会丢失数据 2.  ...

  7. ORACLE默认实例设置--linux

    数据库实例多了之后,每次export的时候,显示的ORACLE_SID总不是自己经常用的那个,要是能让默认的自定义就好了. 现在就解释一下在linux环境中如何定义: 1.su - oracle 2. ...

  8. 在WebStorm中使用CSScomb

    在前端开发写CSS时,往往不能很好的把握格式和属性顺序,阅读起来不友好.CSScomb帮助我们解决了这个问题! CSScomb(CSS梳理)是一个可以用来格式化和排序CSS属性的插件,官网地址http ...

  9. Python中的赋值和拷贝

    赋值 在python中,赋值就是建立一个对象的引用,而不是将对象存储为另一个副本.比如: >>> a=[1,2,3] >>> b=a >>> c= ...

  10. 关于前端惰性加载(jquery_lazyload)的使用和原理分析

    1.前言 有时我们会有这样的需求,当网页有很多张图片的时候,我们不希望一次性就把图片加载完,而是希望当浏览器滑动到指定位置的时候再加载,这样可以节省带宽,它也能帮助减轻服务器负载.那么这种需求就需要利 ...