欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

命名空间前缀及onvif测试工具有关问题

更新时间: 2014-01-05 02:02:13 责任编辑: Author_N1

 

命名空间前缀及onvif测试工具问题
不知道这个问题发在这里合不合适。
我现在在linux下实现onvif协议,从csdn上下载了ONVIF_Device_Test_Tool_v12.06,服务端使用gsoap生成c程序。在实现discovery功能,参考了ghostyu博客的内容,程序运行后测试工具搜索不到设备。

跟踪程序后发现,test tools发出的xml格式是<Envelope xmlns:tds="..." xmlns="...",而stdsoap2.c在解析Envelope时发现命名空间的前缀不是SOAP-ENV就直接报SOAP_TAG_MISMATCH错误,不继续解析其他部分了
查了一些资料后觉得前缀应该没什么意义,只要命名空间是一样的就应该没问题啊
然后我在soap创建时设置了SOAP_XML_IGNORENS,忽略命名空间,tag倒是全解析了,但应答时不会发送命名空间,如tds,wsa一类,导致testtool无法识别应答的xml,跟踪发现soap->nlist存储的命名空间后来被释放了
程序在以上两种情况下soap->namespace和soap->localnamespace都是null
用的gsoap是2.8.10,2.8.8,2.8.14都试过,结果都是一样的
现在在修改stdsoap2.c文件,但总觉得这个东西应该不会这么麻烦
有做过的大侠给个建议,谢谢!
--参考方法--
是不是soap版本不一致呢?soap版本有1.1和1.2版本的区别。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:02:13
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/4840/
本文WWW.DOC100.NET DOC100.NET版权所有。