Использование приложения Ruby on Rails на моем доменном сервере - PullRequest
1 голос
/ 18 июля 2011

Я использую rails версии 2.3.2 в домене моего сайта, и у меня возникла огромная проблема с тем, чтобы обдумать, как это работает:

У меня на сайте запущено приложение RoR на сервере разработки домена,Это просто пример скаффолда, который позволяет вам вводить ваше имя, почтовый индекс, состояние и т. Д. Я использую ruby ​​1.8.2, и у меня также есть сервер mysql.

Я хочу использовать эти данные в моемWindows Phone 7 через SOAP (я не знаю, есть ли у меня хотя бы один для начала), но вот где у меня проблемы.

При использовании Visual Studio он не может найти мой сервер, когда я направляю его черезна мой URL.Выдает ошибку, говорящую, что в правильном формате ничего не было.

Может быть, у меня не работает сервер?Я хочу, чтобы данные были проанализированы в XML для телефона, но я понятия не имею, как это настроить!

В основном у меня есть домен и телефон, но я не знаю, как это сделать.шаги между ними.

Кто-нибудь может мне помочь запустить и запустить?

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Несколько вещей, чтобы попробовать:

Первый - вы действительно запустили сервер? например, запустив "скрипт / сервер"? Вы можете проверить, что сервер запущен и работает, используя "curl" (Google для него, чтобы установить / скачать ", который является очень простым (и очень часто используемым) приложением для простого тестирования этого материала.

если вы запустите curl и введете URL-адрес, к которому вы будете обращаться через ваш телефон с Windows ... и он что-то ответит (вероятно, html), то сервер запущен и работает. Позже вы можете использовать CURL, чтобы проверить, отвечает ли он и на xml-запрос.

Второе: иди ищи в контроллере. Посмотрите, есть ли у него такой раздел, как:

respond_to do |format|
  format.html 
  format.xml { render :xml => @widgets.to_xml }
end

это биты "reply_to" и "xml", которые имеют значение, если вы собираетесь заставить вашу систему использовать xml. Они должны присутствовать в каждом действии вашего контроллера. Если нет - вам придется исследовать, как это сделать для вашего кода - в качестве альтернативы, использование более поздней версии rails позволит вам использовать современные генераторы скаффолдов, которые должны включать их в качестве стандарта.

В-третьих: вполне возможно, что ваше приложение для Windows Phone просто не запрашивает ресурсы в формате xml, и поэтому Rails возвращает html (что ваш синтаксический анализатор SOAP не поймет). Я не знаю, как вы можете это проверить, но для rails требуется, чтобы HTML-заголовок: «Accept» был установлен в «application / xml» или «text / xml»

Вы также можете проверить это для любого заданного URL с помощью curl, используя, например: "curl -H 'Accept: text / xml' 127.0.0.1/myapp" - если он продолжает выплевывать html (а не xml), тогда, очевидно, он не производит xml для этого URL.

2 голосов
/ 18 июля 2011

Самый простой способ сделать это - просто создать JSON и использовать его в своем мобильном приложении.Обычно вам просто нужно вызвать .to_json для объекта, и вы наполовину готовы.SOAP требует тонны XML-накладных расходов, которые, как правило, не стоят того, если вы уже не занимаетесь разработкой корпоративного приложения.

Обновление вашего стека Rails до 2.3.11 и Ruby 1.8.7 - это настоятельно рекомендуется, так как в старых версиях Rails, как и в любом приложении, есть уязвимости.Ruby 1.8.2 выпущен примерно в 2005 году и, по сути, является древним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...