Freigeben über


WsUtil-Compilertool

Das Windows Web Services-Compilertool WsUtil.exe unterstützt das Dienstmodell und die Serialisierung von Datentypen. Es verarbeitet WSDL-, XML-Schema- und Richtliniendokumente und generiert C-Header und Quelldateien. Dieses Tool ähnelt dem WSDL-Compilertool für verwalteten Code, zielt aber stattdessen auf nativen Code ab.

Zur Unterstützung des Dienstmodells generiert WsUtil.exe Header, die sowohl für client als auch für den Dienst verwendet werden. Bei Bedarf werden eine C-Proxydatei für die Clientseite und C-Stubdateien für die Dienstseite generiert.

Zur Unterstützung der Serialisierung generiert der Compiler Header für Elementbeschreibungen für globale Elementdefinitionen sowie alle Typdefinitionsinformationen in den Proxydateien, die von der Serialisierungs-Engine verwendet werden.

Informationen zu Befehlszeilenoptionen zum Verarbeiten von WSDL-Dateien, XML-Schemadateien und Webdienstrichtliniendateien finden Sie in den folgenden Themen:

Sicherheit

Wenn Sie WsUtil verwenden, beachten Sie die folgenden Probleme, und beachten Sie die entsprechenden Vorsichtsmaßnahmen:

  • Wsutil ruft keine XML-Metadaten über das Netzwerk ab, und wsutil löst import- und/oder include-Anweisungen nicht in die Eingabemetadatendateien auf. Wsutil öffnet und liest wsdl-, xsd- und Richtliniendateien. XML-Metadaten sind nicht manipulationssicher. Stellen Sie sicher, dass Sie nur wsdl-, xsd- und Richtliniendateien aus vertrauenswürdiger Quelle verwenden, und stellen Sie sicher, dass Sie die Dateien vor und nach der Verwendung vor Manipulationen schützen. Überprüfen Sie sorgfältig den Inhalt der Eingabedateien, und überprüfen Sie, ob der Inhalt der Dateien für die Verwendung in der Anwendung sicher ist. Wsutil.exe führt keine Überprüfung der Echtheit der Metadatendateien durch.
  • Wsutil generiert Header- und Stubdateien, die nicht manipulationssicher sind. Sie müssen die richtigen Zugriffsrechte auf der Ebene für Quelldateien festlegen, die von wsutil.exe generiert werden, um den nicht authentifizierten Zugriff auf diese Dateien zu verhindern. Wsutil verwendet System.IO.StreamWriter, um die Ausgabedateien zu erstellen.
  • Benutzer müssen sich bewusst sein, dass Wsutil ihre lokalen Dateien überschreiben kann, und sie sollten vorsichtig sein, sichere Dateinamen und Verzeichnisse für Ausgabedateien mithilfe des Schalters /out anzugeben.
  • Wsutil oder wsutilhelper.dll in wsutil.exe geladen, kann unerwartet beendet werden oder große Mengen von Systemressourcen verbrauchen, wenn sie angegriffen werden oder eine sehr große Menge von Eingabemetadaten verarbeitet. Das Tool ist nur für die Verwendung während der Entwicklungszeit konzipiert. Dieses Tool sollte nur als Tool zur Entwicklungszeit verwendet werden. Es ist möglicherweise nicht sicher für die Verwendung auf der mittleren Ebene zum Verarbeiten von Richtlinieninformationen.
  • Wsutilhelper.dll-Hilfs-DLL wird in verwaltete wsutil.exe geladen, um Richtlinieninformationen zu verarbeiten. Der Benutzer sollte sicherstellen, dass im binären Pfad keine böswillige Binärdatei mit demselben Dateinamen vorhanden ist. Auf ähnliche Weise sollte der Benutzer sicherstellen, dass in der Buildumgebung der binäre Pfad ordnungsgemäß eingerichtet ist, dass keine böswillige Binärdatei mit demselben Namen "wsutil.exe" vorhanden ist.
  • Wsutil generiert nach Möglichkeit SAL-Anmerkung für Vorgänge und Strukturfelder. Der Benutzer von wsutil-generierten Dateien sollte die durch SAL-Anmerkung angegebene Anforderung erfüllen.

Übersicht über Dienstmodellebene

Serialisierung

Webdienstcompilertool

WSDL-Unterstützung

Unterstützung von Schemas

Richtlinienunterstützung