Rails 2.3.8を使用してWebサイトを開発し、openfire(java)を使用してIMサーバーを開発しました。私はそれらの間でいくつかのデータを共有したい、または正確にプロバイダーとしてのレール、コンシューマーとしてのオープンファイアを共有したいと思います。考えられる方法は、Webサービスを使用することです。しかし、rails 2.xではデフォルトのSOAPサポートが廃止されたようです。私は、gem activewebserviceをインストールしましたが、その使用方法を示すドキュメントが不足しています。IBMのサイトで例をグーグルで検索しましたが、レール2.3.8でこのガイドに従うのは間違っているようです。誰か私に例を教えてもらえますか?Webサービスを提供する別の方法がrailsのデフォルトのRESTfulタイプのWebサービスを使用することであることは知っていますが、これをサポートするようにJava側を構成するにはどうすればよいですか?
1 に答える
0
RailsはRESTfulWebサービスOOTBをサポートしているため、scaffoldジェネレーターを使用してRailsアプリケーションを開発した場合、アプリケーションはすでにRESTfulAPIを提供しています。IMサーバーがコンシューマーであるため、必要なのは、IMサーバーにrailsアプリケーションによって提供されるRESTfulAPIを呼び出させることだけです。
RESTful APIを呼び出すとは、HTTP(GET / POST / PUT / DELETE)リクエストをRESTサーバー(Rails App)に送信することを意味します。したがって、必要なのは、REST規則に準拠したHTTPリクエストを送信し、適切なシリアル化形式(XML / JSONなど)でデータを送受信するJavaコードをopenfireサーバーにプラグインすることだけです。openfireにはプラグインメカニズムがあり、これはおそらくこれを達成するのに役立つ可能性があります。
RESTful呼び出しに関する限り、これは以下のメソッドのいずれかで実現できます。
- Jersey、ApachewinkなどのJAX-RS実装によって提供されるRESTクライアントライブラリを使用します。
- 任意のHTTPクライアントライブラリを使用してHTTP要求/応答を送受信し、XML / JSON/etcライブラリを使用してデータをシリアル化/逆シリアル化します。
于 2010-09-06T04:15:23.407 に答える