title: There is an error in XML document (1,2) , System.InvalidOperationException: <AuthorizationResult xlms:""> was not expected
body: <p><strong>XML sent from API</strong></p>
  
  <pre><code>&lt;AuthenticationResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;PAPIErrorCode&gt;0&lt;/PAPIErrorCode&gt;
  &lt;ErrorMessage/&gt;
  &lt;AccessToken&gt;StringAccessToken&lt;/AccessToken&gt;
  &lt;AccessSecret&gt;StringAccessToken&lt;/AccessSecret&gt;
  &lt;PolarisUserID&gt;PolarisSampleUser&lt;/PolarisUserID&gt;
  &lt;BranchID&gt;7&lt;/BranchID&gt;
  &lt;AuthExpDate&gt;2013-05-27T16:57:46.323&lt;/AuthExpDate&gt;
  &lt;/AuthenticationResult&gt;
  </code></pre>
  
  <p><strong>Classes for Response</strong></p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Xml;
  using System.Xml.Schema;
  using System.Xml.Serialization;
  
  namespace PAPIAutomatedTestingTool
  {
      [XmlRoot(ElementName="AuthorizationResult")]
      public class AuthorizationResult
      {
          public int PAPIErrorCode { get; set; }
  
          public string ErrorMessage { get; set; }
  
          public string AccessToken { get; set; }
  
          public string AccessSecret { get; set; }
  
          public int PolarisUserID { get; set; }
  
          public int BranchID { get; set; }
  
          public DateTime AuthExpDate { get; set; }
      }
  }
  </code></pre>
  
  <p><strong>Code making request and deserializing</strong></p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.IO;
  using System.Net;
  using System.Web;
  using System.Web.Script.Serialization;
  using System.Security.Cryptography;
  using System.Xml;
  using System.Xml.Serialization;
  
  namespace PAPIAutomatedTestingTool
  {
      public class APICallMethods
      {
          public string URI { get; set; }
          public string accSecret { get; set; }
          public string accToken { get; set; }
          public string authorizationString { get; set; }
  
          public bool AuthenticateStaffUser()
          {
              try
              {
  
              //Initializing all variables
              string authReqMethod = "POST";
              string authAccessKey = "Sample Access Key";
              string authAccessKeyID = "Sample Access ID";
              string authPatronPassword = "";
              DateTime authDateTime = DateTime.Now;
              string httpAuthDateTime = authDateTime.ToUniversalTime().ToString("r");
              string authURI = "Sample URI";
  
  
              //Composing the papiHash from the given parameters
              string papiHash = GetPAPIHash(authAccessKey, authReqMethod, authURI, httpAuthDateTime, authPatronPassword);
              //Formating the authorization string 
              string authorizationString = String.Format("Authorization: PWS {0}:{1}", authAccessKeyID, papiHash);
  
  
              //Creating and defining the WebRequest
              WebRequest req = WebRequest.Create(authURI);
              req.Method = "POST";
              req.Headers.Add("PolarisDate", httpAuthDateTime);
              req.Headers.Add(authorizationString);
              req.ContentType = "application/xml";
              string requestBody = "&lt;AuthenticationData&gt;&lt;Domain&gt;SampleDomain&lt;/Domain&gt;&lt;Username&gt;SampleUsername&lt;/Username&gt;&lt;Password&gt;SamplePassword&lt;/Password&gt;&lt;/AuthenticationData&gt;";
              byte[] reqBodyBytes = System.Text.Encoding.UTF8.GetBytes(requestBody);
              req.ContentLength = reqBodyBytes.Length;
              using (Stream requestStream = req.GetRequestStream())
              {
                  requestStream.Write(reqBodyBytes, 0, reqBodyBytes.Length);
              }
  
  
              //Receiving the WebResponse
              using (WebResponse resp = req.GetResponse())
              {
                  AuthorizationResult firstResponse = new AuthorizationResult();
                  Stream respStream = resp.GetResponseStream();
                  StreamReader sr = new StreamReader(respStream);
  
  
                  XmlSerializer xmlSerializer = new XmlSerializer(typeof(AuthorizationResult));
                  firstResponse = (AuthorizationResult)xmlSerializer.Deserialize(respStream);
                  Console.WriteLine("Authorization: PWS" + firstResponse.AccessSecret + ":" + firstResponse.AccessToken);
                  return true;
              }
          }
              catch (Exception ex)
              {
                  Console.WriteLine(ex);
                  return false;
              }
  
          }
  
  
          public string GetPAPIHash(string strAccessKey, string strHTTPMethod, string strURI, string strHTTPDate, string strPatronPassword)
          {
              byte[] secretBytes = UTF8Encoding.UTF8.GetBytes(strAccessKey);
              HMACSHA1 hmac = new HMACSHA1(secretBytes);
  
              byte[] dataBytes = null;
  
              if (strPatronPassword.Length &gt; 0)
              {
                  dataBytes = UTF8Encoding.UTF8.GetBytes(strHTTPMethod + strURI + strHTTPDate + strPatronPassword);
              }
              else
              {
                  dataBytes = UTF8Encoding.UTF8.GetBytes(strHTTPMethod + strURI + strHTTPDate);
              }
              byte[] computedHash = hmac.ComputeHash(dataBytes);
              string computedHashString = Convert.ToBase64String(computedHash);
  
              return computedHashString;
          }
      }
  }
  </code></pre>
  
  <p>I am making a POST request to the API with a body that contains AuthorizationData. The API is supposed to return the xml to deserialize into firstresponse. I have received the xml(confirmed by printing to console) but i am receiving the <code>There is an error in the XML Document(1,2)</code> and <code>&lt;AuthorizationData xmlns=""&gt;</code> was not expected. Thanks for the help in advance.  </p>