locked
WP7, rest client, https, webrequest: RRS feed

  • Вопрос

  • Имеется https REST сервис - запрос/ответ в xml

    Имеется клиент к нему на Windows Phone 7, запросы шлются методом POST

    при попытке получения ответа возвращается ошибка NotFound.

    С чем это связано и как с этим броться?

     

     

    8 декабря 2010 г. 15:53

Ответы

  • Проблема решилась - был неправильный образ эмуляции , проблема решилась переустанвкой  сеньтябрьской релизной версии developer tools и ноябрьского обновления.
    • Помечено в качестве ответа d-e-n-o-m 10 декабря 2010 г. 8:26
    10 декабря 2010 г. 8:20

Все ответы

  • как вы отсылаете запросы к сервису?

    если можно, покажите пример кода

    8 декабря 2010 г. 16:49
  • public void Send(HttpSend type, string url, ICredentials credentials, string xmlFragment, Action<string> callback)
            {
                var request = WebRequest.Create(url);
                request.Method = type.ToString(); //POST
                request.Credentials = credentials;

                request.BeginGetRequestStream(ar =>
                                                  {
                                                      var stream = request.EndGetRequestStream(ar);
                                                      using (var writer = new StreamWriter(stream))
                                                      {
                                                          if (xmlFragment != null)
                                                          {
                                                              writer.WriteLine(xmlFragment);
                                                          }
                                                          writer.Close();
                                                      }

                                                      request.BeginGetResponse(ar2 =>
                                                                                   {
                                                                                       try
                                                                                       {

                                                                                           //EndGetResponce WebException - {"The remote server returned an error: NotFound."}

                                                                                           using (var response = (HttpWebResponse)request.EndGetResponse(ar2))
                                                                                           using (var reader = new StreamReader(response.GetResponseStream()))
                                                                                           {
                                                                                               string s = reader.ReadToEnd();
                                                                                               callback(s);
                                                                                           }
                                                                                       }
                                                                                       catch (Exception e)
                                                                                       {
                                                                                           System.Diagnostics.Debug.WriteLine(e.Message);
                                                                                       }
                                                                                       
                                                                                   }, null);
                                                  }, null);
            }

    9 декабря 2010 г. 8:11
  • кстати, https и в телефонном браузере не работает (в эмуляторе). Реального устройства нет, к сожалению.
    9 декабря 2010 г. 8:17
  • на эмуляторе https работает. Например ,когда открываю hotmail почту:

    WP7&https
    1. А код сервиса недоступен? Поставить breakpoint, чтоб понять, доходите ли Вы до сервиса?
    2. И почему бы, например, не использовать прокси? Тогда лугче будет локализовать ошибку
    3. Вы не пробовали дернуть сервис из обычного консольного приложения?

    9 декабря 2010 г. 10:57
  • Код сервиса не доступен. Доступно только его API.

    А какая у вас версия эмулятора/образа/silverlight

    как узнать эти версии?

    где взять свежий образ/эмулятор?

    Из консольного приложения работает - я перед переносом кода в WP7 приложение тестировал в консольном...

    9 декабря 2010 г. 11:13
  • https у меня тоже работает.
    Касательно эмулятора: он состоит из двух частей - сам эмулятор и образ эмуляции.
    Эмулятор C:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Tools\XDELauncher\XDELauncher.exe дата создания 31.08.2010 версия 7.0.0.0
    Образ С:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Emulation\Images\WM70C1.en-US.bin дата создания 01.09.2010
    Напрашивается вопрос: SDK у Вас крайний, в смысле сентябрьский? Было ещё октябрьское обновление (посмотреть тут http://create.msdn.com/en-us/home/getting_started), но оно к предмету обсуждения отношения не имеет.

    • Изменено PetrishkoMVP 9 декабря 2010 г. 18:24
    9 декабря 2010 г. 16:50
  • Версию посмотреть не получается. Но у меня релизные developer tools с ноябрьскими обновлениями.

    Можете поделиться url сервиса?
    9 декабря 2010 г. 17:27
  • Ещё дело может быть вот в чём (в центре разработчика на форуме есть подобное обсуждение на английском): сертификат сервера не является доверенным для телефона. Это можно попробовать проверить в браузере без программы. И симптом указывает на эту ситуацию.

    • Предложено в качестве ответа PetrishkoMVP 9 декабря 2010 г. 18:33
    9 декабря 2010 г. 18:09
  • Проблема решилась - был неправильный образ эмуляции , проблема решилась переустанвкой  сеньтябрьской релизной версии developer tools и ноябрьского обновления.
    • Помечено в качестве ответа d-e-n-o-m 10 декабря 2010 г. 8:26
    10 декабря 2010 г. 8:20