Поделиться через


Средство компилятора WsUtil

Средство компилятора веб-служб Windows, WsUtil.exe, поддерживает модель службы и сериализацию типов данных. Он обрабатывает WSDL, xml-схемы и документы политики, а также создает заголовки C и исходные файлы. Это средство аналогично средству компилятора WSDL для управляемого кода, но предназначено для машинного кода.

Для поддержки модели службы WsUtil.exe создает заголовки, которые будут использоваться как для клиента, так и для службы. При необходимости он создает файл прокси-сервера C для клиентской стороны и файлы заглушки C для стороны службы.

Для поддержки сериализации компилятор создает заголовки для описаний элементов для глобальных определений элементов и все сведения об определении типов в прокси-файлах, используемых обработчиком сериализации.

Параметры командной строки для обработки WSDL-файлов, файлов схемы XML и файлов политики веб-служб см. в следующих разделах:

Безопасность

При использовании WsUtil учитывайте следующие проблемы и соблюдайте соответствующие меры предосторожности:

  • Wsutil не получает метаданные XML по сети, а wsutil не разрешает инструкции импорта и (или) включения во входных файлах метаданных. 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.

Общие сведения об уровне модели службы

Сериализация

Средство компилятора веб-службы

Поддержка WSDL

Поддержка схем

Поддержка политик