веб-сервисы между рельсами и j2se - PullRequest
0 голосов
/ 06 сентября 2010

Я разработал веб-сайт с использованием rails 2.3.8 и IM-сервер с использованием openfire (java).Я хочу поделиться некоторыми данными между ними, или, в точности, как поставщик, openfire как потребитель.Возможным способом является использование веб-сервиса.Но похоже, что rails 2.x устарела поддержка SOAP по умолчанию, я установил gem activewebservice, но нет документов, чтобы показать, как его использовать.Я нашел пример на сайте IBM, но, кажется, что-то неправильно следовать этому руководству в рельсах 2.3.8.Кто-нибудь может дать мне пример?Я знаю, что есть еще один способ предоставить веб-службе использование веб-службы RESTful-типа rails по умолчанию, но как настроить сторону Java для поддержки этого?

1 Ответ

0 голосов
/ 06 сентября 2010

Rails поддерживает OOTB веб-сервисов RESTful, поэтому, если вы разработали приложение rails с использованием генератора скаффолдов, ваше приложение уже предоставляет API RESTful. Теперь, когда ваш IM-сервер является потребителем, все, что вам нужно сделать, это заставить ваш IM-сервер вызывать RESTful API, предоставляемый приложением rails.

Вызов API RESTful означает отправку запросов HTTP (GET / POST / PUT / DELETE) на сервер REST (приложение Rails). Поэтому все, что вам нужно сделать, это подключить некоторый Java-код к серверу openfire, который будет отправлять HTTP-запросы, соответствующие соглашениям REST, и отправлять / получать данные в подходящем формате сериализации (XML / JSON / и т. Д.). В openfire есть механизм плагинов, который, вероятно, поможет вам достичь этого.

Что касается вызовов RESTful, это может быть достигнуто любым из следующих способов:

  1. Используйте клиентскую библиотеку REST, предоставляемую реализациями JAX-RS, такими как Джерси , Apache wink и т. Д.
  2. Используйте любую клиентскую библиотеку HTTP для отправки / получения HTTP-запросов / ответов и библиотеку XML / JSON / etc для сериализации / десериализации данных.
...