En C#, comment pourrais-je capturer le SAVON utilisé dans un appel de service web?

J'ai une application en C# qui est un client d'un service web. Un de mes exigences est de permettre de capturer le SAVON que j'envoie, de sorte que si il y a un problème, je peux corriger le bug, ou démontrer que le problème est dans le service que je fais appel.

Mon WebReference service de proxy classe dérive de System.Web.Services.Protocols.SoapHttpClientProtocol comme d'habitude. Si j'avais une baguette magique, je ferais de cette classe de base mettre en œuvre un événement OnPost que je pouvais m'occuper d'écrire le SAVON dans mes logs et continuer.

Court de l'exécution d'un renifleur de paquets comme WireShark, est-il un moyen facile d'obtenir ce niveau de journalisation?

OriginalL'auteur David Chappelle | 2008-11-20