如何创建Web服务

Ode*_*rth 5 apache-flex flash web-services ruby-on-rails

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

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

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

谢谢,

俄德

Jef*_*ser 12

你有没有用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实现.


Jes*_*ott 5

使用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
Run Code Online (Sandbox Code Playgroud)

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

  • 问题是"如何创建Web服务"而不是"WSDL webservice".我坚持认为,在不考虑替代方案的情况下使用WSDL会很痛苦. (2认同)