2013-09-11 2 views
0

Я пытаюсь сериализовать XML с помощью веб-API, но получаю нулевой результат.Web API Serialize XML

Вот мой XML:

http://pastebin.com/RxBPaZF5

Использование XSD, я создал класс в Visual Studio:

http://pastebin.com/kUca0whm

Вот код, я использую:

public COM_Order GetOrderById(string orderId) 
    { 
     HttpClientHandler handler = new HttpClientHandler(); 
     handler.Credentials = new NetworkCredential(m_UserName, m_Password); 

     HttpClient client = new HttpClient(handler) 
     { 
     }; 


     string url = m_BaseUrl + String.Format("/rest/ecommerce.order/{0}", orderId); 
     HttpResponseMessage response = client.GetAsync(url).Result; 
     if (response.IsSuccessStatusCode) 
     { 
      data result = response.Content.ReadAsAsync<data>().Result; 
      //result is null, even though valid JSON is returned 
      return result.Items.FirstOrDefault(); 
     } 

     return null; 


    } 

Есть ли проблема с моей класс? Я также могу вернуть JSON.

+0

Вы проверили, вы действительно наверняка на 100% получите что-то в результате. Это? – LosManos

+0

Да, объект items имеет значение null. На сервере есть ответ. –

ответ

0

В нем говорится response.Content. ReadAsAsync() .Result;

Вы уверены, что result заселен, прежде чем возвращать его? В отладчике у вас есть одно поведение, вне другого.

Попробуйте превратить ReadAsAsync, чтобы узнать, является ли он виновником.

+0

Спасибо. Я добавил результат после ReadAsAsync, однако у меня все еще нет результата. Кажется, что он не может добавлять заказы в мою коллекцию COM_Order. –

+0

Я использовал другой код, который делает WebRequest, без чего-либо async, и он сработал. –