title: SPML (service provisioning markup language) / C#.Net help please!
body: <p>Sorry for virtually begging for help here but I've been tasked to work on the above and cannot find any adequate resources to help me. Here's the details:</p>
  
  <ol>
  <li><p>The company has Identity management software which provides an SPML (SOAP) 'feed' of changes to user entitities</p></li>
  <li><p>(If I've got this right) the SPML driver makes a POST request to a URL on my server which sends those changes</p></li>
  <li><p>Whatever sits under that URL has to then process the posted information (XML)</p></li>
  </ol>
  
  <p>Point 3 is my bit. I have no idea what to write. Asmx? Aspx? Ashx? Commodore 64 cassette tape? Apparently the SPML driver needs a 200 response - it will get that anyway when the processing has taking place no? Is there anything more to it that I'm not getting?</p>
  
  <p>Any help, pointers, guidance or advising me to give up and get a new hobby, would be much appreciated.</p>
  
  <p>Thanks.</p>
  
  <p><strong>EDIT..............</strong></p>
  
  <p>Have got a simple soap driver going (for the purposes of testing) which posts xml to an aspx page which then, in turn, consumes the POST and saves the xml. Thanks to J Benjamin (below) and <a href="http://www.eggheadcafe.com/articles/20011103.asp" rel="nofollow">http://www.eggheadcafe.com/articles/20011103.asp</a> for the kick-start.</p>
  
  <p><strong>SOAP DRIVER (works on page load)</strong></p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
  {    
      XmlDocument doc = new XmlDocument();
      doc.Load(MySite.FileRoot + "testing\\testxml.xml");
      HttpWebRequest req = 
      (HttpWebRequest)WebRequest.Create("http://localhost/mysite/testing/reader.aspx");
      req.ContentType = "text/xml; charset=\"utf-8\"";
      req.Method = "POST";
      req.Headers.Add("SOAPAction", "\"\"");
      Stream stm = req.GetRequestStream();
      doc.Save(stm);
      stm.Close();
      WebResponse resp = req.GetResponse();
      stm = resp.GetResponseStream();
      StreamReader r = new StreamReader(stm);
      Response.Write(r.ReadToEnd());
  }
  </code></pre>
  
  <p><strong>SOAP READER (reads xml posted when called)</strong></p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
  {
      String Folderpath = "c:\\TestSOAP\\";
      if (!Directory.Exists(Folderpath))
      {
          Directory.CreateDirectory(Folderpath);
      }
      Response.ContentType = "text/xml";
      StreamReader reader = new StreamReader(Request.InputStream);
      String xmlData = reader.ReadToEnd();
      String FilePath = Folderpath + DateTime.Now.ToFileTimeUtc() + ".xml";
      File.WriteAllText(FilePath, xmlData);
  </code></pre>
  
  <p>}</p>
  
  <p>The next step is to try consume the SPML service (which is a Java-driven Novell type thing) - if I have any problems, I will post back here!! </p>
  
  <p>Thanks all.. :)</p>