WsUtil 編譯程式工具
Windows Web Services 編譯程式工具 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 註釋指定的需求。
相關主題