Partager via


Utilisation de Soapsuds.exe avec la communication à distance

Cette rubrique est spécifique à la technologie héritée assurant la compatibilité descendante avec des applications existantes et n'est pas recommandée en cas de nouveau développement. Les applications distribuées doivent maintenant être développées à l'aide de  Windows Communication Foundation (WCF).

Vous pouvez utiliser Soapsuds.exe pour générer un assembly ou du code source qui contient les métadonnées requises pour appeler un objet distant.

xse48s01.note(fr-fr,VS.100).gifRemarque :
Soapsuds.exe ne fonctionne qu'avec les objets distants qui utilisent le HttpChannel.

Pour générer un assembly, tapez une commande similaire à celle-ci :

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll

Où l'objet distant est hébergé sur un ordinateur appelé SomeServer et où l'URL de l'objet est MyObject.rem. Notez le ?wsdl ajouté à la fin de l'URL. Ce suffixe est requis pour que Soapsuds.exe fonctionne. Prenez ensuite le fichier MyProxy.dll généré et référencez-le dans votre application cliente.

Pour générer le code source, tapez une commande similaire à celle-ci :

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc

Où l'objet distant est hébergé sur un ordinateur appelé SomeServer et où l'URL de l'objet est MyObject.rem. Notez le ?wsdl ajouté à la fin de l'URL. Ce suffixe est requis pour que Soapsuds.exe fonctionne. Vous pouvez ensuite ajouter le fichier Server.cs généré à votre projet d'application cliente. Cela vous permet de ne pas avoir à joindre un assembly de proxy séparé à votre application cliente.

Indépendamment du type de sortie (assembly ou code source), Soapsuds.exe génère un proxy encapsulé par défaut. Le proxy encapsulé est une classe dérivée de RemotingClientProxy. L'URL de l'objet distant est codée en dur dans cette classe dérivée. Vous pouvez également spécifier -nowp dans la ligne de commandes pour générer un proxy non encapsulé. La classe générée pour un proxy non encapsulé est une classe vide. Vous pouvez observer les différences entre des proxies encapsulés et non encapsulés en générant deux fois le code source d'un objet distant, une fois avec -nowp et une fois sans (veillez à renommer le fichier .cs généré pour qu'il ne soit pas remplacé lors de la seconde exécution de Soapsuds.exe. Vous devez générer des proxies non encapsulés, car l'URL de l'objet distant ne doit pas être codée en dur.

Pour plus d'informations sur les options de ligne de commande soapsuds.exe, consultez : Soapsuds Tool (Soapsuds.exe).

Voir aussi

Autres ressources

Communication à distance avancée