Я пытаюсь вызвать мой веб-апи от сети переменного тока # клиента приложениеНеверный запрос при вызове мой Web API
Это мой API код сервера управления:
public IEnumerable<Services.Customer> Get(Guid CompanyRef)
{
return customerRepository.Get(CompanyRef);
}
public Models.CustomerAddress Add(Guid CompanyRef, string ContactNo, Guid CustomerRef, string DOE, string Email, string FName, string SName,
Guid? addressRef, string add1, string add2, string add3, string town, string county, string pCode, string country)
{
var res= customerRepository.Add(CompanyRef, ContactNo, CustomerRef, DOE, Email, FName, SName,
addressRef, add1, add2, add3, town, county, pCode, country);
return new Models.CustomerAddress {
AddressRef =res.AddressRef,
CustomerRef =res.CustomerRef,
CustomerExists= (res.CustomerRef==CustomerRef)? true : false
};
}
, введя Ури прямо в браузере Я могу проверить это.
http://myipaddress/api/Customer?CompanyRef=00000000-0000-0000-0000-00000000000&ContactNo=contactno2&CustomerRef=00000000-0000-0000-0000-000000000000&DOE=doe2&Email=email2&FName=fname2&SName=sname2&AddressRef=00000000-0000-0000-0000-000000000000&Add1=add1&Add2=add2&Add3=add3&Town=town&County=county&PCode=pcode&Country=country
, но я получаю такой ответ:
Error>
<Message>The request is invalid.</Message>
</Error>
Я не могу видеть, что я делаю не так?
благодарит
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Это мой код для вызова его из C# настольного клиента:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(Shared.URL);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(Shared.HeaderType));
var response = client.PostAsync(route + "?" +
GeneralTags.COMPANY_REF + "=" + ApplicationObject.CompanyRef + "&" +
GeneralTags.CONTACT_NO + "=" + customer.ContactNo + "&" +
GeneralTags.CUSTOMER_REF + "=" + customerLookUpResult.CustomerRef + "&" +
GeneralTags.DOE + "=" + customer.DOE + "&" +
GeneralTags.EMAIL + "=" + customer.Email + "&" +
GeneralTags.FNAME + "=" + customer.FName + "&" +
GeneralTags.SNAME + "=" + customer.SName + "&" +
GeneralTags.ADDRESS_REF + "=" + addressLookUpResult.AddressRef +
GeneralTags.ADD1 + "=" + customer.Add1 + "&" +
GeneralTags.ADD2 + "=" + customer.Add2 + "&" +
GeneralTags.ADD3 + "=" + customer.Add3 + "&" +
GeneralTags.TOWN + "=" + customer.Town + "&" +
GeneralTags.COUNTY + "=" + customer.County + "&" +
GeneralTags.PCODE + "=" + customer.PCode + "&" +
GeneralTags.COUNTRY + "=" + customer.Country
, null).Result;
response.EnsureSuccessStatusCode();
string json = await response.Content.ReadAsStringAsync();
var objs = JArray.Parse(json);
return JsonConvert.DeserializeObject<Model.CustomerAddress>(response.Content.ReadAsStringAsync().Result);
}
Когда я использую это он идет в мою:
public IEnumerable<Services.Customer> Get(Guid CompanyRef)
МОДИФИЦИРОВАННЫЙ URI: L
Это мой URI:
"http://uri/api/Customer/Add?CompanyRef=00000000-0000-0000-0000-000000000000&ContactNo=contactno2&CustomerRef=00000000-0000-0000-0000-000000000000&DOE=doe2&Email=email2&FName=fname2&SName=sname2&AddressRef=00000000-0000-0000-0000-000000000000Add1=add1&Add2=add2&Add3=add3&Town=town&County=county&PCode=pcode&Country=country"
Как зовут ваш контроллер? –
Мы отлаживаем, это попадает в контроллер? –
@PraveenPaulose это: public class CustomerController: ApiController –