国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

通過官網(wǎng)的例子來學習ws-discovery

這篇具有很好參考價值的文章主要介紹了通過官網(wǎng)的例子來學習ws-discovery。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ws-discovery該例子來自于ws-discovery.pdf,連接如下,表1和表2是對該例子的解釋進行翻譯,表3個是一個onvif的搜索響應

WS-Discovery (xmlsoap.org)

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

(01) <s:Envelope?
(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) <s:Header>?
(07) <a:Action>?
(08) http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe?
(09) </a:Action>?
(10) <a:MessageID>?
(11) uuid:0a6dc791-2be6-4991-9af1-454778a1917a?
(12) </a:MessageID>?
(13) <a:To>urn:schemas-xmlsoap-org:ws:2005:04:discovery</a:To>?
(14) </s:Header>?
(15) <s:Body>?
(16) <d:Probe>?
(17) <d:Types>i:PrintBasic</d:Types>?
(18) <d:Scopes?
(19) MatchBy="http://schemas.xmlsoap.org/ws/2005/04/discovery/ldap" >?
(20) ldap:///ou=engineering,o=examplecom,c=us?
(21) </d:Scopes>?
(22) </d:Probe>?
(23) </s:Body>?
(24) </s:Envelope>?

上表的7到9行表明這是一個Probe(嗅探),13行表明該消息發(fā)送到一個眾所周知的地址(well-known)[RFC2141] (RFC2141是urn的語法說明,urn的意思是“統(tǒng)一資源名稱”。

在ws-discovery文檔的5.2節(jié)中特別有說明,當我們是發(fā)送給目標服務而不是代理時必須是:

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

因為在Header塊里沒有ReplyTo字段,那么任何對該Probe消息的響應都應該通過UDP發(fā)送到該soap消息頭部說明的源ip和端口上[SOAP/UDP](SOAP-over-UDP的文檔).

17到21行指明了Probe的兩個限制,17行限制了響應是實現(xiàn)了基本打印服務的類別,18到21行在工程范疇上對其做了限制。只有當目標服務同時滿足這兩個限制時,才需要對該Probe做出響應。

雖然這個例子中同時包含了這兩個限制,但是實際使用中一個Probe并不要求同時包含他們。

下面的表2是對表1的響應。

(01) <s:Envelope?
(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) <s:Header>?
(07) <a:Action>?
(08) http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches?
(09) </a:Action>?
(10) <a:MessageID>?
(11) uuid:e32e6863-ea5e-4ee4-997e-69539d1ff2cc?
(12) </a:MessageID>?
(13) <a:RelatesTo>?
(14) uuid:0a6dc791-2be6-4991-9af1-454778a1917a?
(15) </a:RelatesTo>?
(16) <a:To>?
(17) http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous?
(18) </a:To>?
(19) <d:AppSequence InstanceId="1077004800" MessageNumber="2" />?
(20) </s:Header>?

(21) <s:Body>?
(22) <d:ProbeMatches>?
(23) <d:ProbeMatch>?
(24) <a:EndpointReference>?
(25) <a:Address>?
(26) uuid:98190dc2-0890-4ef8-ac9a-5940995e6119?
(27) </a:Address>?
(28) </a:EndpointReference>?
(29) <d:Types>i:PrintBasic i:PrintAdvanced</d:Types>?
(30) <d:Scopes>?
(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) </d:Scopes>?
(35) <d:XAddrs>http://prn-example/PRN42/b42-1668-a</d:XAddrs>?
(36) <d:MetadataVersion>75965</d:MetadataVersion>?
(37) </d:ProbeMatch>?
(38) </d:ProbeMatches>?
(39) </s:Body>?
(40) </s:Envelope>?

7到9行表明這是一個Probe(嗅探),

13到15行表明是一個對表1的Probe的響應。因為表1的Probe沒有ReplyTo頭塊,

16到18行說明響應該通過UDP發(fā)送到Probe的soap消息頭部說明的源ip和端口上。(文檔5.3節(jié))

19行包含實例標識符和編號。此信息讓接收方能對從目標服務接收的發(fā)現(xiàn)消息重新排序(因為可能是udp的)。

23到37描述了一個單個目標服務。

24到28描述了。。。

29說明了目標服務實現(xiàn)的類別(Types),在本例中,是與Probe匹配的基本打印類型以及額外的一個高級打印類型。

30到34行列出了3個范疇(scopes)。一個匹配Probe的31行,一個說明了其地理定位信息,一個說明其部署的有用信息(IT部門什么什么的)。在這個例子中,scope是可能是和部署相關的信息集合。

35行表明目標服務可達的地址,在這里是一個http地址。XAddr 驗證規(guī)則 - Win32 apps | Microsoft Learn

36行是目標服務的版本信息,如果metadata(29行到34行)有變動,版本號遞增。

ONVIF Core Specification

請看7.3節(jié) Discovery definitions?,7.3.2.1節(jié)指出有通行的types定義

tds:Device

ONVIF Network Video Transmitter Device Definition

該文檔里有NVT(Network Video Transmitter)的定義說明,該文檔里說明了types和scops可填寫的值(5.2和5.21節(jié))。5.21節(jié)指出為了向后兼容,NVT除了tds:Device應有dn:NetworkVideoTransmitter文章來源地址http://www.zghlxwxcb.cn/news/detail-514309.html

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
    xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
    xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery"
    xmlns:chan="http://schemas.microsoft.com/ws/2005/02/duplex"
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:wsa5="http://www.w3.org/2005/08/addressing"
    xmlns:xmime="http://tempuri.org/xmime.xsd"
    xmlns:xop="http://www.w3.org/2004/08/xop/include"
    xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2"
    xmlns:wstop="http://docs.oasis-open.org/wsn/t-1"
    xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2"
    xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
    xmlns:tt="http://www.onvif.org/ver10/schema"
    xmlns:ter="http://www.onvif.org/ver10/error"
    xmlns:tns1="http://www.onvif.org/ver10/topics"
    xmlns:tds="http://www.onvif.org/ver10/device/wsdl"
    xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl"
    xmlns:trt="http://www.onvif.org/ver10/media/wsdl"
    xmlns:tev="http://www.onvif.org/ver10/events/wsdl"
    xmlns:tdn="http://www.onvif.org/ver10/network/wsdl"
    xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl"
    xmlns:trp="http://www.onvif.org/ver10/replay/wsdl"
    xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl"
    xmlns:tr2="http://www.onvif.org/ver20/media/wsdl"
    xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl"
    xmlns:hikwsd="http://www.onvifext.com/onvif/ext/ver10/wsdl"
    xmlns:hikxsd="http://www.onvifext.com/onvif/ext/ver10/schema">
    <SOAP-ENV:Header>
        <wsa:MessageID>urn:uuid:b51f555f-07a0-4853-915d-0ff352bfdcd6</wsa:MessageID>
        <wsa:RelatesTo>urn:uuid:b51f555f-07a0-4853-915d-0ff352bfdcd6</wsa:RelatesTo>
        <wsa:To SOAP-ENV:mustUnderstand="true">urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:To>
        <wsa:Action SOAP-ENV:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches</wsa:Action>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <wsdd:ProbeMatches>
            <wsdd:ProbeMatch>
                <wsa:EndpointReference>
                    <wsa:Address>uuid:3fa1fe68-b915-4053-a3e1-ec6073dcb966</wsa:Address>
                    <wsa:ReferenceProperties></wsa:ReferenceProperties>
                    <wsa:PortType>ttl</wsa:PortType>
                </wsa:EndpointReference>
                <wsdd:Types>tdn:NetworkVideoTransmitter</wsdd:Types>
                <wsdd:Scopes>onvif://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/NetworkVideoTransmitter</wsdd:Scopes>
                <wsdd:XAddrs>http://192.168.3.86:2020/onvif/device_service</wsdd:XAddrs>
                <wsdd:MetadataVersion>1</wsdd:MetadataVersion>
            </wsdd:ProbeMatch>
        </wsdd:ProbeMatches>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

到了這里,關于通過官網(wǎng)的例子來學習ws-discovery的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Ant-Design 官方網(wǎng)站總是打不開,那么我們則需要使用以下該官網(wǎng)的鏡像地址來打開;

    ? 1、 Ant-Design 官網(wǎng)原地址:?https://ant.design/index-cn Ant-Design 官網(wǎng)鏡像地址:http://ant-design.gitee.io/index-cn 或者??Ant Design - 一套企業(yè)級 UI 設計語言和 React 組件庫 ? 2、 Ant-Design-Pro 原地址:?https://pro.ant.design/index-cn Ant-Design-Pro 鏡像地址:http://ant-design-pro.gitee.io/index-cn ? 3、

    2024年02月12日
    瀏覽(19)
  • 一個比官網(wǎng)更好的el-table 實現(xiàn)跨行展示的例子

    一個比官網(wǎng)更好的el-table 實現(xiàn)跨行展示的例子

    el-table 實現(xiàn)跨行展示的例子,好吧,這個問題好像挺容易的,官網(wǎng)文檔就有例子,用的是span-method,不過官網(wǎng)給的例子其實實現(xiàn)起來有時候并不容易,而且也不是很靈活,這里給出一種比官網(wǎng)更好的實現(xiàn)方式。以跨行為例,跨列其實是類似的。 效果如圖 1、使用的還是官方的

    2024年01月18日
    瀏覽(22)
  • 如何通過內(nèi)網(wǎng)穿透實現(xiàn)無公網(wǎng)IP遠程訪問內(nèi)網(wǎng)的Linux寶塔面板

    如何通過內(nèi)網(wǎng)穿透實現(xiàn)無公網(wǎng)IP遠程訪問內(nèi)網(wǎng)的Linux寶塔面板

    正文開始前給大家推薦個網(wǎng)站,前些天發(fā)現(xiàn)了一個巨牛的 人工智能 學習網(wǎng)站, 通俗易懂,風趣幽默 ,忍不住分享一下給大家。點擊跳轉(zhuǎn)到網(wǎng)站。 寶塔面板作為建站運維工具,適合新手,簡單好用。當我們在家里/公司搭建了寶塔,沒有公網(wǎng)IP,但是想要在外也可以訪問內(nèi)網(wǎng)

    2024年02月03日
    瀏覽(20)
  • SpringCloud學習筆記(三)_服務提供者集群與服務發(fā)現(xiàn)Discovery

    SpringCloud學習筆記(三)_服務提供者集群與服務發(fā)現(xiàn)Discovery

    既然SpringCloud的是微服務結構,那么對于同一種服務,當然不可能只有一個節(jié)點,需要部署多個節(jié)點 架構圖如下: 由上可以看出存在多個同一種服務提供者(Service Provider) 搭建服務提供者集群 1、參考:SpringCloud 快速入門搭建單機版的:Eureka Server、Service Provider、Service Con

    2024年02月11日
    瀏覽(21)
  • WS2812+ESP32 diy拾音燈+各種燈效 通過Blinker控制

    WS2812+ESP32 diy拾音燈+各種燈效 通過Blinker控制

    軟件版本:2.0.0 2023.02.08 修復軟件開機自啟動相關bug,具體為bat文件創(chuàng)建快捷方式時起始路徑錯誤導致無法創(chuàng)建ip.bin 修復方式為快捷方式時起始路徑向前一級 后續(xù)如有更新會更新博客。 ESP32開發(fā)板一個 ws2812燈帶一條(我買的60燈珠) 杜邦線幾根(公對母,主要用于燈帶和開

    2023年04月18日
    瀏覽(22)
  • 通過例子深入了解c++/c的構建系統(tǒng)

    C/C++ is the mother of many popular programming languages out there today, all the fancy programming languages we use today like Python, JavaScript are built using C/C++. For example, the standard python interpreter? CPython ?is built using C and the most popular JavaScript implementation? V8 ?is built using C/C++, C/C++ also powers most of the underlyin

    2024年02月04日
    瀏覽(17)
  • 通過ganache與以太坊Dapp實現(xiàn)交互 —— 簡單的例子

    通過ganache與以太坊Dapp實現(xiàn)交互 —— 簡單的例子

    準備條件: 環(huán)境:Centos7或者其他版本的linux 必備: 安裝npm (推薦16.1.0版本) 以及ganache-cli 在dapp目錄下的ganache目錄啟動ganache-cli 會輸出下面的結果: 創(chuàng)建一個備用目錄testdapp 安裝express 創(chuàng)建工程 先要進行一些安裝 在MyDapp文件下會出現(xiàn)以下目錄 啟動我們的工程 登錄游覽器ht

    2024年02月06日
    瀏覽(16)
  • Unity可視化Shader工具ASE介紹——6、通過例子說明ASE節(jié)點的連接方式

    Unity可視化Shader工具ASE介紹——6、通過例子說明ASE節(jié)點的連接方式

    阿趙的Unity可視化Shader工具ASE介紹目錄 ??大家好,我是阿趙。繼續(xù)介紹Unity可視化Shader編輯插件ASE的用法。上一篇已經(jīng)介紹了很多ASE常用的節(jié)點。這一篇通過幾個小例子,來看看這些節(jié)點是怎樣連接使用的。 ??這篇的內(nèi)容可能會比較長,最終是做了一個遮擋X光的效果,不

    2024年02月07日
    瀏覽(31)
  • 通過一個實際例子說明Django中的數(shù)據(jù)庫操作方法OneToOneField()的用法【數(shù)據(jù)表“一對一”關系】

    當我們在Django中定義一個模型時,可以使用 OneToOneField 來建立一個一對一的關系。這種關系表示兩個模型之間的一種特殊關聯(lián),其中一個模型的實例只能與另一個模型的實例關聯(lián)。 讓我們以一個簡單的示例來說明 OneToOneField 的用法。假設我們正在構建一個簡單的博客應用,其

    2024年02月13日
    瀏覽(22)
  • 通過一個實際例子說明Django中的數(shù)據(jù)庫操作方法法ForeignKey()的用法【數(shù)據(jù)表“一對多”關系】

    通過一個實際例子說明Django中的數(shù)據(jù)庫操作方法法ForeignKey()的用法【數(shù)據(jù)表“一對多”關系】

    當使用Django進行數(shù)據(jù)庫操作時,F(xiàn)oreignKey(外鍵)是一種非常有用的字段類型。它允許在數(shù)據(jù)庫表之間創(chuàng)建關聯(lián)關系,類似于其他數(shù)據(jù)庫系統(tǒng)中的外鍵概念。通過ForeignKey字段,我們可以建立一個模型與另一個模型的一對多關系。 以下是一個實際例子,使用ForeignKey字段在Djang

    2024年02月12日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包