1、安装JRuby。今天发现JRuby已经发布了1.0.0RC1版本,可以到http://dist.codehaus.org/jruby/去下载。正确设置一个系统环境变量JRUBY_HOME指向解压后的目录,并把%JRUBY_HOME%\bin添加到系统环境变量PATH中。新建一个hello.rb文件:
打开一个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:
在浏览器中输入http://localhost:8080/axis/Hello.jws?wsdl,就会看到一个新发布的web服务的wsdl描述。
3、JRuby处理SOAP消息。在hello.rb中写入下面的代码:
代码很简洁,其中server、ns和action等信息可以在上面的那个wsdl文件中找到。在命令行运行jruby hello.rb屏幕上会打出“hello,YanHua”的字样,这样,我们就用JRuby轻松的实现了一个web服务的调用。
ruby 代码
- puts 'Hello World.'
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 代码
- public class Hello {
- public String hello(String name){
- return "hello,"+name;
- }
- }
3、JRuby处理SOAP消息。在hello.rb中写入下面的代码:
ruby 代码
- require 'soap/rpc/driver'
- server = 'http://localhost:8080/axis/Hello.jws'
- InterfaceNS = 'impl'
- drv = SOAP::RPC::Driver.new(server, InterfaceNS)
- drv.add_method_with_soapaction('hello', InterfaceNS+'#hello', 'translationmode')
- puts drv.hello('YanHua')