.net – Get SOAP Message before sending it to the WebService in .NET

.netsoapweb-services

I'm calling an external HTTPS webservice.

In order to check what is wrong, the owner needs the SOAP request I'm sending.

I have a web reference and the generated proxy class generated by VS 2008…

Is there a way to see the SOAP message just before sending it?

I'm thinking in some .net code… because the Sniffers I tried didn't "see" the webservice invocation don't know why.

Best Solution

You can simply serialize the request object, before subtmit, like this:

var sreq = new SomeSoapRequest();

// ... fill in here ...

var serxml = new System.Xml.Serialization.XmlSerializer(sreq.GetType());
var ms = new MemoryStream();
serxml.Serialize(ms, sreq);
string xml = Encoding.UTF8.GetString(ms.ToArray());

// in xml string you have SOAP request