共用方式為


WsUtil 編譯器工具

Windows Web 服務編譯器工具WsUtil.exe支援 資料類型的服務模型序列化 。 它會處理 WSDL、XML 架構和原則檔,並產生 C 標頭和原始程式檔。 此工具類似于 Managed 程式碼的 WSDL 編譯器工具,但改為以機器碼為目標。

為了支援 服務模型,WsUtil.exe會產生要用於用戶端和服務的標頭。 它會視需要產生用戶端的 C Proxy 檔案,以及服務端的 C 存根檔案。

為了支援 序列化,編譯器會產生全域專案定義之元素描述的標頭,以及序列化引擎所取用 Proxy 檔案中的所有類型定義資訊。

如需處理 WSDL 檔案、XML 架構檔案和 Web 服務原則檔案的命令列選項,請參閱下列主題:

安全性

當您使用 WsUtil 時,請注意下列問題,並觀察適當的預防措施:

  • Wsutil 不會透過網路擷取 XML 中繼資料,而且 wsutil 不會解析輸入中繼資料檔案中的匯入和/或 include 語句。 Wsutil 會開啟並讀取 wsdl、xsd 和原則檔案。 XML 中繼資料不會防竄改。 請確定您只使用 wsdl、xsd 和原則檔案是從受信任的來源取得,而且請務必在使用檔案之前和之後防止檔案遭到竄改。 仔細檢閱輸入檔案的內容,並驗證檔案的內容是否安全可用於應用程式。 Wsutil.exe不會驗證中繼資料檔案的真確性。
  • Wsutil 會產生標頭檔與存根檔案,這些檔案不會防竄改。 您必須在wsutil.exe所產生的原始程式檔上設定正確的層級存取權限,以防止未經授權的存取這些檔案。 Wsutil 會使用 System.IO.StreamWriter 來建立輸出檔案。
  • 使用者必須注意 Wsutil 可以覆寫其本機檔案,而且應該小心使用 /out 參數來指定輸出檔案的安全檔案名和目錄。
  • Wsutil 或 wsutilhelper.dll載入wsutil.exe,可能會在遭受攻擊或處理非常大量的輸入中繼資料時意外終止或耗用大量的系統資源。 此工具的設計目的是只在開發期間使用此工具。此工具應該只做為開發時間工具使用。 在仲介層中處理原則資訊可能不安全。
  • Wsutilhelper.dll協助程式 DLL 會載入受控wsutil.exe來處理原則資訊。 使用者應該確定二進位路徑中沒有具有相同檔案名的惡意二進位檔。 同樣地,使用者應該確定在建置環境中,二進位路徑已正確設定,因為沒有具有相同「wsutil.exe」名稱的惡意二進位檔存在。
  • Wsutil 會盡可能為作業和結構欄位產生 SAL 注釋。 wsutil 產生的檔案使用者應遵循透過 SAL 注釋指定的需求。

服務模型層概觀

序列化

Web 服務編譯器工具

WSDL 支援

結構描述支援

原則支援