为什么我所打印出来的soap->version值为0,soap->version的值,在哪里开始产生soap->version的

未来有我更精彩 发布于 2015/11/24 14:20
阅读 252
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

最近在做基于gsoap开源的onvif协议的开发,目前在做服务端的开发,遇到了种种问题

目前最大的疑惑是为什么我所打印出来的soap->version值为0,而soapH.h中规定的soap->version值为1和2 ,即SOAP1.1版本和SOAP1.2版本,后续的解析都是基于不同版本的命名空间去进行解析的,不知谁可以帮忙解答下这个疑惑?当然我更想知道,soap->version的值,一开始是在哪里体现的,或者说是在哪里开始产生soap->version的。

我是基于TI的开发板进行移植的,现在使用onvif 测试工具并使用Wireshark进行抓包,使用Discover Device时,Probe的报文与TI的一直,但是ProbeMatch的报文出错,跟踪代码,现在是在soap_serve_request()函数中出错,现在打印出来的soap->error除了是上面版本错误(soap->error=39,对比soapH.h发现#define SOAP_VERSIONMISMATCH 39);其他的soap->error的值为3(SOAP_TAG_MISMATCH)、6(SOAP_NO_TAG)、13(SOAP_NO_METHOD),其中报SOAP_NO_METHOD为主要的错误,请问有哪些问题可能会导致这些错误,网上的帖子大多数都看过了,但没找到实质性的见解,望有做过此方面开发的大侠给予解答,

当然在开发onvif协议的过程中还有很多疑惑,后续可能还会上贴

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部