本例实现了一个多方法,包含参数的SOAP实例。
SOAP 服务端:
#!/usr/local/bin/ruby
require 'soap/rpc/standaloneServer'
module MySOAP
class Timer
def now
Time.new.strftime("%Y-%m-%d %H:%M:%S")
end
end
class Add
def add(i, j)
return i.to_i + j.to_i
end
end
end
class TimeServer < SOAP::RPC::StandaloneServer
def on_init
time = MySOAP::Timer.new
add = MySOAP::Add.new
add_method(time,"now")
add_method(add,"add")
end
end
NS = 'http://localhost/soap'
port = 4000
svr = TimeServer.new('timer',NS,'0.0.0.0',port)
trap('INT') { svr.shutdown }
puts "My SOAP is starting... port:#{port} (Ctrl+c to quit)"
svr.start
puts "My SOAP is stop."
SOAP客户端:
require 'soap/rpc/driver'
proxy = SOAP::RPC::Driver.new("http://localhost:4000","http://localhost/soap")
proxy.add_method('now')
proxy.add_method('add','i','j')
puts "Server time now is : #{proxy.now}"
puts "9 + 2000 = #{proxy.add(9,2000)}"
分享到:
相关推荐
《企业级集成与Ruby》是一本深入探讨如何利用Ruby语言进行企业系统集成的书籍。Ruby是一种面向对象的、动态的编程语言,以其简洁的语法和强大的元编程能力受到开发者的喜爱。在企业环境中,集成是关键,它涉及到不同...
这部分内容聚焦于Ruby与Web服务的交互,包括SOAP、XML-RPC、RESTful API等不同类型的Web服务。它可能讲解了如何使用Ruby库如HTTParty、Typhoeus等来消费和创建Web服务,以及如何处理JSON和XML数据格式。通过学习这些...
7. **XML在Web服务中的应用**:Ruby可以用来构建和消费SOAP或RESTful Web服务,XML在这种场景下常作为数据交换的格式。 8. **XML与数据库的交互**:Ruby可以通过XML库将数据导入导出到数据库,例如在没有SQL支持的...
通过学习本书,读者不仅可以了解到服务导向设计的基本原理和关键技术,还能掌握使用Ruby及Rails来构建高效、灵活的服务导向系统的实践方法。这对于希望利用现代Web技术来提升应用程序性能和可维护性的开发者来说是...
【RubyGo资讯博客系统(类似CnBeta)】是一个基于Ruby编程语言开发的网络应用,设计灵感来源于知名的科技新闻站点...对于开发者来说,它是了解Ruby on Rails和.NET集成应用的一个实践案例,有助于学习和提升Web开发技能。
Rails是Ruby语言的一个全功能框架,以其MVC(模型-视图-控制器)架构和"Convention over Configuration"(约定优于配置)的理念而闻名,它极大地简化了开发过程,提高了开发效率。这本书则专门针对Foundation框架与...
- **Cucumber + SOAP**:适用于 SOAP Web Services 的测试。 - **Cucumber + Sikuli**:将 Sikuli 图像识别技术与 Cucumber 结合,进行更复杂的 UI 测试。 - **Cucumber + Ruby + 接口测试**:利用 Ruby 进行接口...
- **支持多种编程语言**:尽管CXF主要面向Java,但它也支持其他语言,如Ruby、Python等,通过StAX(Streaming API for XML)和其他互操作性机制实现。 - **代码生成**:CXF提供代码生成工具,可以从WSDL文件自动...
1.2.1 Ruby语言方面的不足 2 1.2.2 对历史遗留项目的支持较为困难 2 1.3 Grails的诞生解决了一些遗憾 3 1.3.1 Groovy语言 3 1.3.2 Grails站在了巨人的肩膀之上 3 1.3.3 Grails有良好的扩展性 3 1.4 对Grails的一些...
它支持多种编程语言,如Java、Python、Ruby等,并且能够与多种标准接口(如SOAP、REST、JMS等)进行交互。通过Tuscany,开发者可以将业务逻辑抽象为服务组件,这些组件可以在不同的技术平台上互操作,从而实现松耦合...
- 开发Web服务,开发者可以使用各种工具和框架,如Java的JAX-WS和JAX-RS,Python的Flask或Django,Ruby的Sinatra,以及.NET Framework的WCF(Windows Communication Foundation)等。 7. **测试Web服务** - 工具...
JRuby是Ruby语言的一个Java实现。这部分内容介绍了如何在JRuby环境中使用Ehcache。 #### 四十二、Glassfish使用指南(Glassfish How To) Glassfish是Oracle提供的一款Java EE应用服务器。这部分内容介绍了如何在...
本书的前言由Sam Ruby撰写,他是一位知名的技术专家,也是多个开放源代码项目的关键参与者。在前言中,他可能强调了RESTful API设计对于现代网络服务的重要性以及本书的独特价值。 尽管书中提到了一些由于OCR扫描...
SOAP(Simple Object Access Protocol)是一种轻量级协议,用于交换结构化的信息,广泛应用于Web服务中。然而,PHP的SOAP扩展仍然存在一些限制,例如: 1. **对某些SOAP特性的支持不充分**:比如对WS-Security的...