parte - Solicitud de Socket de registro.NET en el cliente
ejemplo de sockets en.net: chat cliente-servidor(parte 1) (6)
Hay muchas opciones que puede usar. Ciertamente hay algunas herramientas comerciales para esto (como SOAPScope), pero si solo buscas capturar los contenidos brutos de las solicitudes / respuestas, hay varias herramientas además de Fiddler (que ya mencionó Walden).
Personalmente, he sido un usuario de mucho tiempo de TcpTrace y YATT de Simon Fell.
Si está interesado en realmente instrumentar el código para que pueda hacerlo por sí mismo (por ejemplo, registrando todo en un archivo o algo), entonces es posible que desee estudiar la implementación de una SoapExtension en su servidor.
Estoy consumiendo un .NET WebService de terceros en mi aplicación cliente. Para fines de depuración, quiero capturar las solicitudes SOAP que se envían desde mi servidor. ¿Cómo voy a hacer esto? Esto se está haciendo en .NET 2.0 sin el uso de WCF o WSE.
Puede usar SoapExtension para registrar las llamadas de Soap.
Si es por motivos de depuración, simplemente configuro la solicitud web para usar un proxy y le envío la solicitud completa a través de fiddler ( http://www.fiddlertool.com ), luego puede ver exactamente lo que se está transmitiendo a través del cable.
He utilizado la herramienta de prueba del servicio web, SOA y SOAP - soapUI con éxito en el pasado.
-Edode
Escribí una publicación sobre esto hace un tiempo titulada " Registro de mensajes SOAP en .NET ".
La forma más fácil es usar las herramientas que ya están provistas con .NET .
1. Extender la clase SoapExtension
.
2. anule el método ProcessMessage
para obtener un resultado completo de su Solicitud de jabón, y luego envíe esta información a un archivo de texto o registro de eventos.
public class SoapMessageLogger : SoapExtension
{
//…
public override void ProcessMessage(SoapMessage message)
{
switch(message.Stage)
{
case SoapMessageStage.BeforeDeserialize:
LogResponse(message); break;
case SoapMessageStage.AfterSerialize:
LogResponse(message); break;
// Do nothing on other states
case SoapMessageStage.AfterDeserialize;
case SoapMessageStage.BeforeSerialize;
default: break;
}
}
//…
}
Tal vez wireshark ? Siempre lo uso para capturar el tráfico de mis aplicaciones.