title: Capturing SOAP requests to an ASP.NET ASMX web service
body: <p>Consider the requirement to log incoming SOAP requests to an ASP.NET ASMX web service. The task is to capture the raw XML being sent to the web service. </p>
  
  <p>The incoming message needs to be logged for debug inspection. The application already has its own logging library in use, so the ideal usage would be something like this:</p>
  
  <pre><code>//string or XML, it doesn't matter.
  string incomingSoapRequest = GetSoapRequest();
  
  Logger.LogMessage(incomingSoapRequest);
  </code></pre>
  
  <ul>
  <li>Are there any easy solutions to capture the raw XML of the incoming SOAP requests? </li>
  <li>Which events would you handle to get access to this object and the relevant properties?</li>
  <li>Is there anyway IIS can capture the incoming request and push to a log?</li>
  </ul>