2016-02-11 5 views
0

, когда я прошу один запрос WebAPI, я получил сообщение об ошибке, как ожидает данные в формате JSON/XMLОжидая данные JSON/XML в WebAPI

try   
{     
    string oRequest = _xml.UpdateInvereqxml(UserName, Password,OTAhotelid, Invy);     
    string uri = @"service/update"; 
    System.Net.WebRequest req = System.Net.WebRequest.Create(uri); 
    req.Method = "POST"; 
    req.ContentType = "text/xml"; 
    System.IO.StreamWriter writer = new System.IO.StreamWriter(req.GetRequestStream()); 
    writer.WriteLine(oRequest); 
    writer.Close(); 
    System.Net.WebResponse rsp = req.GetResponse(); 
    Stream istrm = rsp.GetResponseStream(); 
    string StreamReader = new StreamReader(istrm).ReadToEnd(); 
} 
+0

Как решить вышеуказанную ошибку? –

+0

Ну, может быть, исключение вызывает сервер, потому что вы отправляете неправильный тип контента. Или, может быть, вам не хватает правильного заголовка Accept – Templum

ответ

0

Я предлагаю использовать HttpClient общаться с ASP.NET Web API. Класс предоставляет множество функций для работы с услугой REST (example)

public EnumProduct Post(EnumProduct product) 
{ 
HttpResponseMessage reponse = httpClient.PostAsJsonAsync("api/enumproducts/Post", product).Result; 
if (reponse.IsSuccessStatusCode) 
{ 
var enumProduct = reponse.Content.ReadAsAsync().Result; 
return enumProduct; 
} 
else 
return null; 
}