質問

Rails 2.3.8を使用してWebサイトを開発し、Openfire(Java)を使用してIMサーバーを開発しました。私はそれらの間でいくつかのデータを共有したい、またはプロバイダーとしての正確なレール、消費者としてのOpenfireを共有したいと思います。可能な方法は、Webサービスを使用することです。しかし、Rails 2.XはデフォルトのSOAPサポートを廃止したようです。GEMActiveWebserviceをインストールしましたが、使用方法を示すドキュメントが不足しています。 IBMのサイトで例をグーグルで検索しましたが、Rails 2.3.8でこのガイドに従うのは問題があるようです。誰かが私に例を挙げてもらえますか? WebサービスがRailsのデフォルトのRestfulタイプのWebサービスを使用していることを提供する別の方法があることは知っていますが、これをサポートするためにJava側を構成する方法はありますか?

役に立ちましたか?

解決

RailsはRestful Web-Services OOTBをサポートしているため、Scaffoldジェネレーターを使用してRailsアプリケーションを開発した場合、アプリケーションはすでにRESTFUL APIを提供しています。これで、IMサーバーが消費者であるため、Railsアプリケーションが提供するRESTFUL APIをIMサーバーに呼び出すことだけが必要です。

RESTFUL APIを呼び出すということは、RESTサーバー(Rails App)にHTTP(get/post/put/delete)リクエストを送信することを意味します。したがって、必要なのは、httpリクエストが残りの条約に付着するHTTP要求を送信し、適切なシリアル化形式(XML/JSON/など)でデータを送信/受信するHTTP要求を送信するOpenFireサーバーにプラグインすることです。 Openfireにはプラグインメカニズムがあり、おそらくこれを達成するのに役立つ可能性があります。

Restful Callsに関する限り、これは以下のいずれかの方法で達成できます。

  1. jax-rsの実装が提供するレストクライアントライブラリを使用します ジャージー, Apache Wink, 、など
  2. HTTPクライアントライブラリを使用して、HTTPリクエスト/応答を送信/受信し、XML/JSON/ETCライブラリを送信して、データをシリアル化/シリアル化します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top