如何创建Web服务

我用Ruby on Rails框架构建了一个网站。 该站点将包含一个Flash应用程序,该应用程序将使用Web服务与rails应用程序进行交互。 我的合作伙伴构建了flash应用程序,他告诉我flash应用程序通过WSDL文件进行交互。

我是网络服务的新手。 我想知道如何创建WSDL文件,以及如何在rails应用程序和WSDL文件之间进行交互。

如果您认为有比SOAP / WDSL更好的替代方案,我也想听听它们。

谢谢,

俄德

你有没有用Google搜索如何在Ruby中构建Web服务 ? 以下是一些链接,所有链接都准确地解决了您想要做的事情:

http://www.tutorialspoint.com/ruby/ruby_web_services.htm

http://www.ibm.com/developerworks/opensource/library/os-ws-rubyrails/index.html

http://searchsoa.techtarget.com/tip/Web-services-with-Ruby-on-Rails

你怎么看一些这些链接,如果你有其他问题,请回复我们。

我有一个详细说明:

我的合作伙伴构建了flash应用程序,他告诉我flash应用程序通过WSDL文件进行交互。

听起来您的合作伙伴对Flash如何访问远程数据服务的理解不完整。 使用带有WSDL的SOAP Web服务是一种方法,当然,这里有一些文档 。

Flex / Flash应用程序还可以进行标准HTTP调用 ,有时也称为REST Web服务。 在许多情况下,REST Web服务将返回XML文档,但这不是必需的。 可以从REST Web服务返回任何数据,包括简单文本数据。

许多人喜欢做的是使用带有RemoteObject的AMF网关。 AMF是一种二进制格式,因此您可以获得比替代方案更小的文件大小来回传输。 它还提供服务器端对象和客户端对象之间的自动对象转换。 这可以节省开发时间,因为您无需解析数据就可以将其转换为Flex可以轻松使用的内容。 RubyAMF是AMF的一个Ruby实现。

使用WSDL,您将遇到比您需要的更多痛苦。

相反,我建议创建一个返回json(或xml)的REST接口 – 你会在rails中找到它才能正常工作。

所以你会有这样的事情:

/books # returns a list of books. Also do Searching here /books/1 # return the detail of a book with ID of 1 

搜索“REST Rails”,您将获得将根据客户端请求返回JSON和XML的控制器示例。