`

Rails的ActionWebService提供SOAP服务

阅读更多

REST is very much the way forward as far as Rails in concerned, but there are still plenty of people who need to access a SOAP api, or who have to provide one to third parties. Rails 2.0 dropped Action Web Service from core, with the promise that all you had to do to get it back was to install the gem.

There’s a little more to it than gem install actionwebservice though, and this is what we did.

Getting the source

We checked out the source from http://svn.rubyonrails.org/rails/ousted/actionwebservice/ into our vendor/rails folder (we have all of the rails gems frozen there).

Loading the framework

There are 2 things to do here.
First, above the Rails::Initializer.run block put

class Rails::Configuration
  attr_accessor :action_web_service
end

Next, add

config.frameworks += [ :action_web_service]
config.action_web_service = Rails::OrderedOptions.new
config.load_paths += %W( #{RAILS_ROOT}/app/apis )

This tells Rails that you do want to load Action Web Service, creates a thing for its settings to be contained in and makes Rails look in the apis folder when it needs to find an undefined constant.

Running our tests

Having done this your app should run. There’s one more thing left to do so that you can run your tests. Crack open your test_helper.rb file and add

require 'action_web_service/test_invoke'

below where it says require 'test_help'. This essentially allows you to use the invoke method in your test cases.

Happy Ending

Relax, make yourself a cup of tea. You’ve re-enabled SOAP in your Rails 2.0 app and it didn’t even take 5 minutes.

分享到:
评论

相关推荐

    lifebouy:Ruby on Rails的SOAP服务生成器

    这样,你就可以在Rails应用中轻松地提供SOAP服务,而无需手动编写大量重复的代码。 在压缩包`lifebouy-master`中,包含了Lifebouy项目的源代码,包括Gemfile、lib目录下的代码文件以及可能的测试和示例。通过阅读和...

    wash_out:死了的简单Rails 45 SOAP服务器库

    冲刷WashOut是一颗宝石,可以极大地简化SOAP服务提供者的创建。 但是,如果有机会,请 。兼容性Rails 4.0及更高版本已经过测试。 已知代码可用于早期版本,但我们不再烦恼测试过时的版本-如果您不走运,请尝试一下。...

    Rails项目源代码

    这个Rails项目提供了学习和研究Web开发的机会,特别是对于Ruby on Rails新手,可以通过阅读和理解源代码来提升技能,了解实际应用中Rails的用法。同时,对于有经验的开发者,这个项目也可以作为一个起点,进行二次...

    Ruby-一个Rails引擎提供工作流程的基本基础设施

    Rails引擎是一种特殊的Rails应用,可以嵌入到其他Rails应用中,提供可重用的功能模块,例如特定的路由、控制器、模型、视图等。在本案例中,"Ruby-一个Rails引擎提供工作流程的基本基础设施"指的是一个专门为实现...

    使用Aptana+Rails开发Rails Web应用(中文)

    Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。本教程将详细介绍如何使用Aptana与Rails结合,创建一个功能完备的Web应用程序。 首先,我们需要安装Aptana...

    关于rails 3.1 cucumber-rails 1.2.0

    Asset Pipeline优化了前端资源的处理,Cucumber-Rails则提供了强大的测试工具,确保代码的质量和功能符合业务需求。这样的组合对于保持代码的整洁、提高团队协作效率和降低维护成本具有重要意义。 总的来说,了解和...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **措施**:Rails提供了多种内置的安全特性,如防止跨站脚本攻击(XSS)、SQL注入等。 #### 十、下一步 - **学习路径**:继续深入学习Rails的高级特性,如Active Record模式、表单构建器等。 - **社区资源**:加入...

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器.zip

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    rails2-sample

    本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是学习Ruby on Rails的理想选择。 ### 重要知识点概览 #### 1. Introducing Ruby on Rails(介绍Ruby on Rails) 这一章节...

    rails指南 中文版

    9. **ActiveJob**:Rails的后台任务处理框架,可以配合各种队列服务(如Resque、Sidekiq等)处理异步任务。 10. **Rails Console**:提供了一个交互式的命令行工具,用于检查和调试应用,执行Ruby代码,以及与...

    rails 部署 nginx

    标题 "rails 部署 nginx" 涉及到的是在Web开发中使用...通过以上步骤和配置,开发者可以成功地在Nginx上部署Rails应用,提供高效、稳定的服务。理解这些知识点对于任何想要进行Rails应用部署的人来说都是至关重要的。

    railsAPI

    Rails API 特别适用于构建RESTful(表述性状态转移)服务,为前端应用提供数据接口。 在Rails API中,模型(Model)代表应用程序的数据结构,它与数据库交互,处理数据验证和业务逻辑。视图(View)是用户看到和与...

    Rails recipes

    作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有理论深入分析的参考书。 Ruby on Rails是一种流行的开源Web应用框架,用Ruby语言编写,遵循MVC架构模式。Rails的目的是让开发过程尽...

    Rails3常用命令行命令

    为了启动Rails应用的服务,你可以运行: ```bash rails server -p *** ``` 这里的`***`代表你想让服务器监听的端口号。默认情况下,Rails应用会在3000端口启动。 Rails3还提供了生成API文档的功能,通过运行: `...

    Ruby on Rails实践

    Rails还提供了丰富的插件和gem库,如Devise用于身份验证,CanCanCan处理权限控制,Pundit管理授权,Bootstrap-Sass和jQuery-rails用于前端界面和交互。开发者可以方便地通过Gemfile引入这些工具,然后利用Bundler...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    rails本地安装包完整版

    4. **activeresource-2.1.0.gem**:ActiveResource是Rails用于处理RESTful服务的组件。它允许Rails应用作为客户端,通过HTTP与遵循REST原则的远程资源进行交互,从而实现数据的获取和更新。 5. **rake-0.8.1.gem**...

Global site tag (gtag.js) - Google Analytics