Visual Studio makes calling a web service easy, trying to figure out what is going on under the covers is difficult.
How can I see the actual XML generated from my .Net app when making a call to a web service?
Visual Studio makes calling a web service easy, trying to figure out what is going on under the covers is difficult.
How can I see the actual XML generated from my .Net app when making a call to a web service?
tools like tcptrace or Fiddler can help.
few troubleshooting links:
Outside of Visual Studio, you can use the Fiddler tool to see exactly what is contained in requests and responses.
Inside Visual Studio, one thing you could do is write a DataSet out to a file.
myDataSet.WriteXml(filename);
MSDN Example code that implements a TraceExtension for SOAP; You can use as-is or modify to log in whatever you want (I used a DB and kept it not only for debugging but to archive all communication for later on).
Here's another example of how you can do that within Visual Studio. All this does is grab the response from the web service and save it to a file you specify:
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")
The suggestion to use Fiddler was enough for me to get my IT team on board. The already had a copy of a similar program WireShark installed on the webserver.
Not being very network savvy, I initially thought I could watch for requests made from my PC to the webservice. That didn't work. Monitoring requests as they came into the webserver did give me the stucture of the http header and the soap envelope.
Thanks for all the responses.