title: JayData. OData v.3 Action POST parameters received as null
body: <p>My OData POST Action receive the parameters as null because it gets them from JayData client as part of the body and is expecting them as part of the URI.</p>
  
  <p>I have created an OData service based in <a href="http://www.nuget.org/packages/Microsoft.Data.Services/" rel="nofollow">WCF Data Services 5.6.0</a> and <a href="http://www.llblgen.com/documentation/4.0/LLBLGen%20Pro%20RTF/Using%20the%20generated%20code/gencode_wcfdataservices.htm" rel="nofollow">Llblgen Pro 4.0</a> (simply <a href="http://www.llblgen.com/" rel="nofollow">the best .Net ORM</a> out there right now). It has a POST Action:</p>
  
  <pre><code>[WebInvoke(Method = "POST")]
  public void DeletePeople(string guidsToDelete) {...}
  </code></pre>
  
  <p>The OData v.3 standard does not support passing parameters to POST actions as part of the body, but <a href="http://www.odata.org/documentation/uri-conventions/#6_Service_Operation_Parameters" rel="nofollow">expect them to be in the queryString part of the URI</a>. That is, in System.Data.Services.Client, you have to set them as UriOperationParameter instead of BodyOperationParameter.</p>
  
  <p>Can I configure in JayData's ServiceOperation definition where to send the parameters, or must I assume it does not support POST with parameters right now?</p>
  
  <pre><code>// This works, of course :-)
  // JayData client. EntityContext definitions. Changed to GET instead of POST
  'DeletePeople': { type: $data.ServiceOperation, method: 'GET', params: [{ name: 'guidsToDelete', type: 'Edm.String' }] }
  
  // Updated server operation (not action any more):
  [WebGet]
  public void DeletePeople(string guidsToDelete)
  </code></pre>
  
  <p>TIA,</p>
  
  <p>Raist</p>