rails和j2se之间的Web服务

时间:2010-09-06 03:38:10

标签: ruby-on-rails web-services openfire

我开发了一个使用rails 2.3.8的网站,以及一个使用openfire(java)的IM服务器。我想在它们之间共享一些数据,或者作为提供商,openfire作为消费者。一种可能的方法是使用Web服务。但似乎rails 2.x已经弃用了默认的SOAP支持,我安装了gem activewebservice,但是缺少显示如何使用它的文档。我在IBM的网站上搜索了一个例子,但是在rails 2.3.8中遵循这个指南似乎有些不对劲。谁能举个例子? 我知道还有另一种提供Web服务的方法是使用rails的默认RESTful类型的Web服务,但是如何配置java端来支持这个?

1 个答案:

答案 0 :(得分:0)

Rails支持RESTful Web服务OOTB,因此如果您使用scaffold生成器开发了rails应用程序,那么您的应用程序已经提供了RESTful API。现在,由于您的IM服务器是消费者,您所要做的就是让您的IM服务器调用rails应用程序提供的RESTful API。

调用RESTful API意味着向REST服务器(Rails App)发送HTTP(GET / POST / PUT / DELETE)请求。所以你需要做的就是向openfire服务器插入一些java代码,它将发送符合REST约定的HTTP请求,并以合适的序列化格式(XML / JSON /等)发送/接收数据。 openfire中有一个插件机制,可能可以帮助您实现这一目标。

就RESTful调用而言,可以通过以下任何方法实现:

  1. 使用JAX-RS实施提供的REST客户端库,如JerseyApache wink等。
  2. 使用任何HTTP客户端库发送/接收HTTP请求/响应以及XML / JSON / etc库以序列化/反序列化数据。