title: Azure table storage returns 400 Bad Request
body: <p>I ran this in debug mode, and I attach an image with the details of the exception. How can I know what went wrong? I was trying to inset data in a table. Can't azure give me more details?</p>
  
  <p>Obs: The storage is on Windows Azure not on my machine. The tables were created, but I get this error when inserting data</p>
  
  <p><img src="https://i.stack.imgur.com/y1uYF.png" alt="enter image description here"></p>
  
  <pre><code>// Retrieve the storage account from the connection string.
  Microsoft.WindowsAzure.Storage.CloudStorageAccount storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=***;AccountKey=***");
  
  // Create the table client.
  CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
  
  // Create the table if it doesn't exist.
  CloudTable table = tableClient.GetTableReference("EmployeeOnlineHistory");
  table.CreateIfNotExists();
  </code></pre>
  
  <p>and here is the insert code:</p>
  
  <pre><code>public static void SetStatus(Employee e, bool value)
  {
      try
      {
          // Retrieve the storage account from the connection string.
          Microsoft.WindowsAzure.Storage.CloudStorageAccount storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=###;AccountKey=###");
  
          // Create the table client.
          CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
  
          // Create the CloudTable object that represents the "people" table.
          CloudTable table = tableClient.GetTableReference("EmployeeOnlineHistory");
  
          // Create a new customer entity.
  
          if (value == true)
          {
              EmployeeOnlineHistory empHistory = new EmployeeOnlineHistory(e.Id);
              empHistory.IsOnline = true;
              empHistory.OnlineTimestamp = DateTime.Now;
              TableOperation insertOperation = TableOperation.Insert(empHistory);
              table.Execute(insertOperation);
          }
          else
          {
              TableQuery&lt;EmployeeOnlineHistory&gt; query = new TableQuery&lt;EmployeeOnlineHistory&gt;()
                  .Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, e.Id.ToString()));
              EmployeeOnlineHistory entity = table.ExecuteQuery(query).Take(1).FirstOrDefault();
  
              if ((entity!=null)&amp;&amp;(entity.IsOnline))
              {
                  entity.IsOnline = false;
                  entity.OfflineTimestamp = DateTime.Now;
                  entity.OnlineTime = (entity.OfflineTimestamp - entity.OnlineTimestamp);
                  TableOperation updateOperation = TableOperation.Replace(entity);
                  table.Execute(updateOperation);
              }
              else
              {
                  EmployeeOnlineHistory empHistory = new EmployeeOnlineHistory(e.Id);
                  empHistory.IsOnline = false;
                  empHistory.OfflineTimestamp = DateTime.Now;
                  TableOperation insertOperation = TableOperation.Insert(empHistory);
                  table.Execute(insertOperation);
              }
          }
      }
      catch (Exception ex)
      {
          //var details = new System.IO.StreamReader(((Microsoft.WindowsAzure.Storage.StorageException)ex)..Response.GetResponseStream()).ReadToEnd();
          LogFile.Error("EmployeeOnlineHistory.setStatus",ex);
      }
  }
  </code></pre>