ws-discovery通过官网的例子来学习
创始人
2024-04-18 06:13:08

ws-discovery该例子来自于ws-discovery.pdf,连接如下,表1和表2是对该例子的解释进行翻译,表3个是一个onvif的搜索响应

WS-Discovery (xmlsoap.org)

ProbeMatches 消息 - Win32 apps | Microsoft Learn(microsoft的中文文档)

(01) (02) xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
(03) xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" 
(04) xmlns:i="http://printer.example.org/2003/imaging" 
(05) xmlns:s="http://www.w3.org/2003/05/soap-envelope" > 
(06)  
(07)  
(08) http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe 
(09)
 
(10)  
(11) uuid:0a6dc791-2be6-4991-9af1-454778a1917a 
(12)
 
(13) urn:schemas-xmlsoap-org:ws:2005:04:discovery 
(14)
 
(15)  
(16)  
(17) i:PrintBasic 
(18) (19) MatchBy="http://schemas.xmlsoap.org/ws/2005/04/discovery/ldap" > 
(20) ldap:///ou=engineering,o=examplecom,c=us 
(21)  
(22)
 
(23)
 
(24)  

上表的7到9行表明这是一个Probe(嗅探),13行表明该消息发送到一个众所周知的地址(well-known)[RFC2141] (RFC2141是urn的语法说明,urn的意思是“统一资源名称”。

在ws-discovery文档的5.2节中特别有说明,当我们是发送给目标服务而不是代理时必须是:

urn:schemas-xmlsoap-org:ws:2005:04:discovery)。

因为在Header块里没有ReplyTo字段,那么任何对该Probe消息的响应都应该通过UDP发送到该soap消息头部说明的源ip和端口上[SOAP/UDP](SOAP-over-UDP的文档).

17到21行指明了Probe的两个限制,17行限制了响应是实现了基本打印服务的类别,18到21行在工程范畴上对其做了限制。只有当目标服务同时满足这两个限制时,才需要对该Probe做出响应。

虽然这个例子中同时包含了这两个限制,但是实际使用中一个Probe并不要求同时包含他们。

下面的表2是对表1的响应。

(01) (02) xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
(03) xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" 
(04) xmlns:i="http://printer.example.org/2003/imaging" 
(05) xmlns:s="http://www.w3.org/2003/05/soap-envelope" > 
(06)  
(07)  
(08) http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches 
(09)
 
(10)  
(11) uuid:e32e6863-ea5e-4ee4-997e-69539d1ff2cc 
(12)
 
(13)  
(14) uuid:0a6dc791-2be6-4991-9af1-454778a1917a 
(15)
 
(16)  
(17) http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous 
(18)
 
(19)  
(20)
 

(21)  
(22)  
(23)  
(24)  
(25)  
(26) uuid:98190dc2-0890-4ef8-ac9a-5940995e6119 
(27)
 
(28)
 
(29) i:PrintBasic i:PrintAdvanced 
(30)  
(31) ldap:///ou=engineering,o=examplecom,c=us 
(32) ldap:///ou=floor1,ou=b42,ou=anytown,o=examplecom,c=us 
(33) http://itdept/imaging/deployment/2004-12-04 
(34)
 
(35) http://prn-example/PRN42/b42-1668-a 
(36) 75965 
(37)
 
(38)
 
(39)
 
(40)  

7到9行表明这是一个Probe(嗅探),

13到15行表明是一个对表1的Probe的响应。因为表1的Probe没有ReplyTo头块,

16到18行说明响应该通过UDP发送到Probe的soap消息头部说明的源ip和端口上。

19行包含实例标识符和编号。此信息让接收方能对从目标服务接收的发现消息重新排序(因为可能是udp的)。

23到37描述了一个单个目标服务。

24到28描述了。。。

29说明了目标服务实现的类别(Types),在本例中,是与Probe匹配的基本打印类型以及额外的一个高级打印类型。

30到34行列出了3个范畴(scopes)。一个匹配Probe的31行,一个说明了其地理定位信息,一个说明其部署的有用信息(IT部门什么什么的)。在这个例子中,scope是可能是和部署相关的信息集合。

35行表明目标服务可达的地址,在这里是一个http地址。XAddr 验证规则 - Win32 apps | Microsoft Learn

36行是目标服务的版本信息,如果metadata(29行到34行)有变动,版本号递增。

ONVIF Network Video Transmitter Device Definition

该文档里有NVT(Network Video Transmitter)的定义说明,该文档里说明了types和scops可填写的值(5.2和5.21节)。


urn:uuid:b51f555f-07a0-4853-915d-0ff352bfdcd6urn:uuid:b51f555f-07a0-4853-915d-0ff352bfdcd6urn:schemas-xmlsoap-org:ws:2005:04:discoveryhttp://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatchesuuid:3fa1fe68-b915-4053-a3e1-ec6073dcb966ttltdn:NetworkVideoTransmitteronvif://www.onvif.org/name/TP-IPC onvif://www.onvif.org/hardware/MODEL onvif://www.onvif.org/Profile/Streaming onvif://www.onvif.org/location/ShenZhen onvif://www.onvif.org/type/NetworkVideoTransmitterhttp://192.168.3.86:2020/onvif/device_service1

 

上一篇:Redis

下一篇:NLP词向量技术

相关内容

热门资讯

应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...