我用Ruby on Rails框架构建一个网站。 该站点将包含一个Flash应用程序,该应用程序将使用Web服务与rails应用程序进行交互。 我的合作伙伴构建了flash应用程序,他告诉我flash应用程序通过WSDL文件进行交互。
我是网络服务新手。我想知道如何创建WSDL文件,以及如何在rails应用程序和WSDL文件之间进行交互。
如果您认为有比SOAP / WDSL更好的替代方案,我也想听听它们。
谢谢,
乌迪德
答案 0 :(得分:12)
你用Google搜索了how to build web services in Ruby吗?以下是一些链接,所有链接都准确地解决了您想要做的事情:
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应用程序通过交互 WSDL文件。
听起来您的合作伙伴对Flash如何访问远程数据服务的理解不完整。当然,使用带有WSDL的SOAP Web服务是一种方法,这里有一些documentation on that。
Flex / Flash应用程序也可以生成standard HTTP calls,有时也称为REST Web服务。在许多情况下,REST Web服务将返回XML文档,但这不是必需的。可以从REST Web服务返回任何数据,包括简单文本数据。
许多人更喜欢使用RemoteObject的AMF网关。 AMF是一种二进制格式,因此您可以获得比备选方案更小的文件大小来回传输。它还提供服务器端对象和客户端对象之间的自动对象转换。这可以节省开发时间,因为您无需解析数据就可以将其转换为Flex可以轻松使用的内容。 RubyAMF是AMF的一个Ruby实现。
答案 1 :(得分: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
搜索“REST Rails”,您将获得将根据客户端请求返回JSON和XML的控制器示例。