用JRuby轻松搞定SOAP消息

1、安装JRuby。今天发现JRuby已经发布了1.0.0RC1版本,可以到http://dist.codehaus.org/jruby/去下载。正确设置一个系统环境变量JRUBY_HOME指向解压后的目录,并把%JRUBY_HOME%\bin添加到系统环境变量PATH中。新建一个hello.rb文件:
ruby 代码
  1. puts 'Hello World.'  
打开一个CMD窗口,切换到hello.rb所在目录,运行jruby hello.rb,在窗口中看到“ Hello World.”了吧?--JRuby就安装好了。

2、安装AXIS。我在http://ws.apache.org/axis/index.html下载了AXIS1.4,解压后吧webapp下的axis目录复制到tomcat的webapp目录下,启动tomcat,然后打开浏览器输入网址http://localhost:8080/axis,会看到AXIS的主页面,点击Validation,如果没出现大的错误就算安装成功了。接下来我们来部署一个web服务。在tomcat的webapp/axis目录下新建一个文件Hello.jws:
java 代码
 
  1. public class Hello {  
  2.     public String hello(String name){  
  3.         return "hello,"+name;  
  4.     }  
  5. }  
在浏览器中输入http://localhost:8080/axis/Hello.jws?wsdl,就会看到一个新发布的web服务的wsdl描述。

3、JRuby处理SOAP消息。在hello.rb中写入下面的代码:
ruby 代码
 
  1. require 'soap/rpc/driver'  
  2. server = 'http://localhost:8080/axis/Hello.jws'  
  3. InterfaceNS = 'impl'  
  4. drv = SOAP::RPC::Driver.new(server, InterfaceNS)  
  5. drv.add_method_with_soapaction('hello', InterfaceNS+'#hello', 'translationmode')  
  6. puts drv.hello('YanHua')  
代码很简洁,其中server、ns和action等信息可以在上面的那个wsdl文件中找到。在命令行运行jruby hello.rb屏幕上会打出“hello,YanHua”的字样,这样,我们就用JRuby轻松的实现了一个web服务的调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值