Веб-сервисы между Rails и J2SE
-
01-10-2019 - |
Вопрос
Я разработал веб-сайт с помощью Rails 2.3.8, а сервер IM с помощью Openfire (Java). Я хочу поделиться некоторыми данными между ними или именноми рельсами как поставщика, OpenFire Ase Proofer. Возможный путь использует веб-сервис. Но похоже, что рельсы 2.x устарели на поддержку мыла по умолчанию, я установил GEM ActiveWebservice, но есть недостаток документов, чтобы показать, как его использовать. Я поглотил пример на сайте IBM, но кажется что-то не так, чтобы следовать за этим руководством в Rails 2.3.8. Кто-нибудь может дать мне пример? Я знаю, что есть еще один способ предоставить веб-сервису использовать веб-сервис Rails по умолчанию, но как настроить сторону Java для поддержки этого?
Решение
Rails имеет поддержку для reзов Web-Services OOTB, поэтому, если вы разработали свои рельсы приложение с помощью генератора Scaffold Scaffold, ваше приложение уже предоставляет восстановлению API. Теперь, когда ваш IM Server является потребителем, все, что вам нужно сделать, это сделать ваш IM-сервер позвонить в RESTFLAY API, предоставляемую приложением Rails.
Вызов Restful API означает отправку запросов http (get / post / pub / delete) на сервер отдыха (приложение Rails). Таким образом, все, что вам нужно сделать, это плагин какой-то код Java к серверу OpenFire, который отправит HTTP-запросы, придерживающиеся конвенции о положении покоя и данные отправки / приема в подходящем формате сериализации (XML / JSON / ETC). В Oponfire есть механизм плагина, который, вероятно, может помочь вам достичь этого.
Что касается спокойных вызовов, это может быть достигнуто в любом из методов ниже:
- Используйте клиентскую библиотеку для отдыха, предоставленную реализациями JAX-RS, как Джерси, Apache wink., так далее.
- Используйте любую библиотеку клиента HTTP для отправки / получения HTTP-запросов / ответ и библиотеку XML / JSON / ETC для сериализации / de-serialize данных.