AXIS2参照官网入门学习( 连载 一)

前言(第一次发布翻译,如有翻译不到位或有逻辑理解问题,欢迎抛砖指正!)

 

文章说明:

今天开始开始学习axis2服务,为能让大家看清在创建和发布服务时究竟发生了什么,我尽量让这个例子看起来简单而易懂。在讲axis2例时,一般使用StockQuoteService这个特定的例子来给大家师范,所以我们使用下面的代码:

 

Code Listing 1: The StockQuoteService class

package samples.quickstart.service.pojo;

import java.util.HashMap;

public class StockQuoteService {
    private HashMap map = new HashMap();

    public double getPrice(String symbol) {
        Double price = (Double) map.get(symbol);
        if(price != null){
            return price.doubleValue();
        }
        return 42.00;
    }

    public void update(String symbol, double price) {
        map.put(symbol, new Double(price));
    }
}

 

 

这个简单的服务有两个可能被调用的方法,其中一个是个输入/输出的消息,另一个是输入消息。最后,我们要将这个服务打包并采用四种不同的方式发布。

 

首先,我们看一下如何将这个简单的java类绑定到一个服务。

 

准备出发吧

在使用axis2创建任何东东之前呢,我们需要注意注意一些小细节,防止后院起火。首先,你需要搭建好axis2的工作环境。如果你还没有搭好也不要发懵,因为这个环境的搭建还是很easy的,仅包括简单的几步:

1.下载并安装java(至少jdk1.4以上)。设置JAVA_HOME环境变量,将变量值设为你的jdk安装目录。

2.下载Axis2并解压到一个自定义的目录。

3.axis2.war文件(可以在Axis2解压得到的目录中找到)复制到servlet容器的webapps目录下(也就是tomcat啦)。

4.这是很很重要的一步哦,千万不要跳过!在这步我们要设置AXIS2_HOME环境变量,将变量值设置为第2步的那个目录。注意,所有Axis2用到的脚本和它要创建的文件都要依赖这个环境变量值!Linux用户可以选择运行AXIS2_HOME/bin 目录下的setenv.sh 文件来将AXIS2_HOME 环境变量设置为Axis2的解压目录。

 

大多数情况下,我们需要为服务创建一个WSDL文件。Axis2java2WSDL 文件可以用来引导产生WSDL文件。我们可以通过如下几步得到所需的WSDL文件:

1.创建并编译java文件。

2.使用下面的命令产生WSDL文件:

(Windows)
%AXIS2_HOME%\bin\java2wsdl -cp . -cn samples.quickstart.service.pojo.StockQuoteService 
-of StockQuoteService.wsdl
(Linux)
$AXIS2_HOME/bin/java2wsdl -cp . -cn samples.quickstart.service.pojo.StockQuoteService 
-of StockQuoteService.wsdl

 

一旦得到了WSDL文件,你可以根据自己的需要修改它。比如,你可以添加自定义的faults或者改变其中元素的name。再比如,后面使用过程中,我们会将这个StockQuoteService.wsdl 文件放到AXIS2_HOME/samples/quickstartadb/resources/META-INF 路径下,并且替换通过上面步骤生成的一些元素。

如果顺利完成上面的话,那么你的环境已经搭建好了。

今天先写到这吧……后面会告诉大家一个完整服务是什么样子

猜你喜欢

转载自liwutao.iteye.com/blog/1458461