une application client C # Nous avons développé appelle un service Web de savon externe d'une tierce entreprise. P>
Maintenant, je veux retrouver les enveloppes de requête SOAP exactes générées par le proxy SOAP généré par VS.NET dans notre application et transféré sur le service Web de savon externe. P>
La méthode d'utilisation d'un moniteur réseau tel que WireShark (comme décrit ici ) Ou utiliser Microsoft Network Monitor n'est pas une option car le service Web Externl SOAP fournit uniquement une URL SSL / HTTPS, la charge utile des packages http est donc cryptée et non visible. P>
Y a-t-il un moyen de configurer les classes client Web de service Web intégrées .NET pour donner / suivre / enregistrer leurs demandes http sous-jacentes et leurs réponses générées / reçues? (Ou peut-être une sorte d'événement à souscrire à?) p>
3 Réponses :
Vous pouvez utiliser Fiddler, peut-être, en tant que proxy et surveiller ainsi les demandes HTTP / HTTPS. Cela ne vous obligera pas à écrire un code de votre part. P>
Il convient de noter qu'il y a des mises en garde à déboguer des demandes HTTPS avec Fiddler. Cette page explique comment cela peut être fait. P>
FIDDler Web Debugger - Débogage du trafic HTTPS avec Fiddler2 P>
Si vous utilisez un service Web standard (non WFC), vous pouvez étendre la classe Soapextension comme décrit ici: P>
Si vous utilisez WFC, vous pouvez implémenter iendpointBehavior et iClientMessageBehavior comme décrit ici: P>
http: / /weblogs.asp.net/paolopia/archive/2007/08/23/witing-a-wcf-message-inspector.aspx P>
J'utilise les deux, selon que j'utilise des références Web ou de service. P>
+1 pour la soapextension, utilisée aussi avec succès. OP n'a pas mentionné s'il s'agissait de Web / Windows Client. Si Web, je ne crois pas que le code Soapextenstion dans le lien est WebSafe.
Vous pouvez utiliser Fiddler ou System.net Tracing. P>
http://blogs.msdn.com/dgorti /Rarchive/2005/09/18/471003.aspx http://msdn.microsoft.com/en-us /Library/bb203855(BT.10).aspx p>
TCPmon peut faire ce que vous voulez. Je l'ai utilisé pour tracer les services Web Jax-WS.