2013年5月13日 星期一

ONVIF -- soap-env 的 namespace 問題


問題描述
在進行 NVR 互測時,發現彼此雙方對於 SOAP-ENV 的 namespace 認知不同。
NVR針對 SOAP-ENV 只能看懂 "http://schemas.xmlsoap.org/soap/envelope/" (以下簡稱 A),卻不允許 "http://www.w3.org/2003/05/soap-envelope" (以下簡稱 B)

根據 OVNIF 官方 spec 演進,看來是新舊版本的關係
  • (2011/02) Reference_of_ONVIF_Development_v1 01 02.pdf 使用 A 
  • (2011/06) ONVIF-Core-Spec-v210.pdf 使用 B 
  • (2012/01) ONVIF-Core-Specification-v211.pdf 使用 B 
  • (2012/12) ONVIF-Core-Specification-v221.pdf 使用 B

 
另外幾點要注意的是

  1. 直接連上 ONVIF 官方網址 http://www.onvif.org/onvif/ver10/schema/onvif.xsd, 此時網頁上顯示的是 A,此可能會造成使用者實作上的誤解
  2. ONVIF 12.12 test tool所送出的 request 是 B
  3. SOAP 1.2 使用的是 B,參考 http://schemas.xmlsoap.org/wsdl/soap12/WSDL11SOAP12.pdf