關於裝置上的 Web 服務
裝置上的 Web 服務 API (WSDAPI) 是 Windows Vista 和 Windows Server 2008 (DPWS) 裝置 設定檔 的實作。 DPWS 會限制 Web 服務規格,讓用戶端可以輕鬆地探索裝置。 探索到裝置之後,用戶端就可以擷取該裝置上裝載的服務描述,並使用這些服務。
裝置和服務
裝置 是連結至網路的元件,通常是硬體。 範例包括印表機、Web 相機和視訊系統。
裝置可能包含零個或多個 服務。 例如,視訊裝置可能包含支援開機和關閉、播放控制、媒體退出和視訊串流的服務。 播放控制項可支援播放、暫停、倒轉和快速向前等動作。
探索及操作裝置
WSDAPI 可讓用戶端探索及存取遠端裝置及其跨網路相關聯的服務,藉此擴充本機隨插即用模型。 它支援探索、單向和雙向控制傳訊,以及事件。
DPWS 裝置會宣告其存在狀態,並在有任何) 使用唯一位址和一組標準化 XML 訊息時, (公開服務。 DPWS 用戶端可以使用探索程式來尋找裝置、列舉其服務,以及連線到這些服務以執行特定動作。
WSDAPI 用戶端會先查詢裝置以取得其服務的完整描述,包括服務類型 (,例如印表機服務類型或掃描器服務類型) 。 接著,用戶端會呼叫服務類型所定義的命令 (控制裝置,例如,在具有印表機服務類型的裝置上呼叫 CreatePrintJob) 。 或者,用戶端也可以訂閱命令執行期間發生的事件,來監視每個服務的狀態變更。
如需裝置傳訊模式的詳細資訊,請參閱 探索和中繼資料交換訊息模式。
邏輯和實體定址
邏輯定址是用來唯一識別與其實體位址無關的裝置。 WS-Discovery提供一種機制,可將邏輯位址解析為實體位址,以允許進行用戶端對裝置傳訊。 例如,您隨附的網路連結儲存體 (NAS) 。 如果您有膝上型電腦和 NAS,膝上型電腦應該能夠辨識它是否為相同的裝置,而不論在子網之間移動時,NAS 所取得的實體位址 (IP 位址) 。 若要達成此目的,裝置必須具備與其取得之 IP 位址無關的身分識別;由於 DNS 之類的傳統機制無法在一般漫遊案例中使用,WS-Addressing和WS-Discovery提供邏輯定址和解析作為臨機操作替代方案。
當裝置製造時,系統會提供全域唯一識別碼,以 UUID URI 表示。 此識別碼永遠不會變更裝置。 當裝置開啟電源時,它一律會透過 WS-Discovery Hello 訊息宣告其邏輯位址,並接受將它轉換成實體位址的要求, (通常是透過 WS-Discovery Resolve 或 Probe 訊息的 HTTP) 。 一旦取得有效的實體位址 (IP 位址) 之後,所有傳訊都會透過該位址進行,而且只有在位址變更、裝置變更狀態和用戶端需要通知時,才會使用WS-Discovery,或裝置離線。
建置應用程式
WSDAPI 提供一般 DPWS SOAP 堆疊,以供用戶端和服務應用程式使用。 裝置程式碼產生器上的 Web 服務 (WsdCodeGen.exe) 可用來將服務描述 (WSDL) 轉換成應用程式可以直接呼叫的 Proxy 和存根程式碼。 這個產生的程式碼會自動將函式呼叫和參數轉換成 SOAP 訊息和 XML 欄位,然後呼叫 WSDAPI 以發出對遠端裝置或用戶端的要求。
建置 WSDAPI 應用程式時,可以使用函式探索來建立和啟用 PnP 所傳回的函式實例。 這些函式實例包含的資料,這些資料可用來在需要多個簡單的探索時,透過 PnP API 取得更多資訊。 如需詳細資訊,請參閱 函式探索 和 PnP-X。
相關主題