public IHttpActionResult Put(int id, [FromBody] ProductData value) { string token = GetAuthToken(); IHttpActionResult validation = ValidateOwnerProduct(token, id); if (validation != null) { return(validation); } validation = ValidateProductData(value, token, true); if (validation != null) { return(validation); } DataAccessSoapClient ws = new DataAccessSoapClient(); var binding = ws.ChannelFactory.Endpoint.Binding as BasicHttpBinding; binding.MaxReceivedMessageSize = int.MaxValue; Product target = ws.FindProduct(new DataAccessWS.Security { BinarySecurityToken = token }, id); assignProperties(target, value, token); target.Id = id; Product updated = ws.UpdateProduct(new DataAccessWS.Security { BinarySecurityToken = token }, target); return(Ok(CreateRestProduct(updated))); }