Pregunta

Visual Studio hace que llamar a un servicio web sea fácil, ya que es difícil tratar de descubrir qué sucede bajo las cobijas.

¿Cómo puedo ver el XML real generado desde mi aplicación .Net cuando hago una llamada a un servicio web?

Otros consejos

Ejemplo de MSDN código que implementa una TraceExtension para SOAP; Puede usarlo tal como está o modificarlo para iniciar sesión en lo que desee (usé una base de datos y la guardé no solo para la depuración sino también para archivar todas las comunicaciones para más adelante).

Para las llamadas de servicio web SOAP, he encontrado que SoapUI es extremadamente útil. Puede conectarse a un WSDL para obtener las definiciones de los métodos, crear sobres de esqueleto para invocar esos métodos y puede ver el resultado completo después de la invocación.

Fuera de Visual Studio, puede usar la herramienta Fiddler para ver exactamente lo que contienen las solicitudes y respuestas.

Dentro de Visual Studio, una cosa que podría hacer es escribir un DataSet en un archivo.

myDataSet.WriteXml(filename);

Aquí hay otro ejemplo de cómo puede hacerlo dentro de Visual Studio. Todo lo que hace es tomar la respuesta del servicio web y guardarla en un archivo que especifique:

Dim url As String = "http://web.service.com/"
Dim request As WebRequest = WebRequest.Create(url)
Dim response As WebResponse = request.GetResponse()
Dim stream As Stream = response.GetResponseStream()

Dim xmlDoc As XmlDocument = New XmlDocument
xmlDoc.Load(stream)
xmlDoc.Save("C:\Temp\foo.xml")

La sugerencia de usar Fiddler fue suficiente para que mi equipo de TI se incorporara. Ya tenían una copia de un programa similar WireShark instalado en el servidor web.

Al no ser muy conocedor de la red, inicialmente pensé que podía ver las solicitudes realizadas desde mi PC al servicio web. Eso no funcionó. El seguimiento de las solicitudes cuando entraron en el servidor web me dio la estructura del encabezado http y el sobre de jabón.

Gracias por todas las respuestas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top