Partager via


Outil du compilateur WsUtil

L’outil de compilateur des services Web Windows, WsUtil.exe, prend en charge le modèle de service et la sérialisation des types de données. Il traite WSDL, les documents de schéma XML et de stratégie, et génère des en-têtes C et des fichiers sources. Cet outil est similaire à l’outil de compilateur WSDL pour le code managé, mais vise plutôt le code natif.

Pour prendre en charge le modèle de service, WsUtil.exe génère des en-têtes à utiliser pour le client et le service. Il génère un fichier proxy C pour le côté client et des fichiers stub C pour le côté service, si nécessaire.

Pour prendre en charge la sérialisation, le compilateur génère des en-têtes pour les descriptions d’éléments pour les définitions d’éléments globaux et toutes les informations de définition de type dans les fichiers proxy utilisés par le moteur de sérialisation.

Pour connaître les options de ligne de commande pour le traitement des fichiers WSDL, des fichiers de schéma XML et des fichiers de stratégie de service web, consultez les rubriques suivantes :

Sécurité

Lorsque vous utilisez WsUtil, tenez compte des problèmes suivants et observez les précautions appropriées :

  • Wsutil ne récupère pas les métadonnées XML sur le réseau, et wsutil ne résout pas les instructions import et/ou include dans les fichiers de métadonnées d’entrée. Wsutil ouvre et lit les fichiers wsdl, xsd et de stratégie. Les métadonnées XML ne sont pas inviolables. Assurez-vous que vous utilisez uniquement les fichiers wsdl, xsd et de stratégie sont acquis à partir d’une source approuvée et veillez à protéger les fichiers contre toute falsification avant et après leur utilisation. Examinez attentivement le contenu des fichiers d’entrée et vérifiez que le contenu des fichiers est sûr pour une utilisation dans l’application. Wsutil.exe n’effectue aucune vérification de l’authenticité des fichiers de métadonnées.
  • Wsutil génère des fichiers d’en-tête et de stub, qui ne sont pas inviolables. Vous devez définir les droits d’accès de niveau appropriés sur les fichiers sources générés par wsutil.exe pour empêcher l’accès non autorisé à ces fichiers. Wsutil utilise System.IO.StreamWriter pour créer les fichiers de sortie.
  • Les utilisateurs doivent savoir que Wsutil peut remplacer leurs fichiers locaux et qu’ils doivent veiller à spécifier des noms de fichiers et des répertoires fiables pour les fichiers de sortie à l’aide du commutateur /out.
  • Wsutil ou wsutilhelper.dll chargés dans wsutil.exe, peuvent se terminer de manière inattendue ou consommer une grande quantité de ressources système en cas d’attaque ou de traitement d’une très grande quantité de métadonnées d’entrée. L’outil est conçu pour être utilisé pendant le développement uniquement Cet outil doit être utilisé comme outil de temps de développement uniquement. Il n’est peut-être pas sûr d’être utilisé dans le niveau intermédiaire pour traiter les informations de stratégie.
  • Wsutilhelper.dll DLL d’assistance est chargée dans des wsutil.exe managés pour traiter les informations de stratégie. L’utilisateur doit s’assurer qu’il n’existe aucun fichier binaire malveillant avec le même nom de fichier dans le chemin d’accès binaire. De même, l’utilisateur doit s’assurer que dans l’environnement de génération, le chemin d’accès binaire est correctement configuré qu’il n’existe aucun fichier binaire malveillant portant le même nom « wsutil.exe ».
  • Wsutil génère une annotation SAL pour les champs d’opérations et de structure lorsque cela est possible. L’utilisateur des fichiers générés par wsutil doit respecter l’exigence spécifiée par le biais de l’annotation SAL.

Vue d’ensemble de la couche de modèle de service

Sérialisation

Outil compilateur de services web

Prise en charge de WSDL

Prise en charge des schémas

Prise en charge des stratégies