Axis2 开发实例

 

环境说明

Axis2 1.6.2

Eclipse : Indigo Service Release 1

 

下载Axis2

http://axis.apache.org/axis2/java/core/download.cgi 下载最新的axis2

 

Eclipse 配置Axis2

在windows-->Preferences-->WebServices-->Axis2Preferences-->设置 Axis2 runtime location为Axis2下载后的位置

 

创建工程

在eclipse里建立web project工程

image

注意: Dynamic web module version 的版本选择3.0以下。

配置Axis2

image

 

然后继续完成工程的创建。

 

注意,这里不需要配置web.xml

启动tomcat然后在浏览器输入

http://localhost:8080/WebServiceProject/axis2-web/

就能够看到界面了。

 

创建WebService

新建两个,代码如下:

package org.test.service;

import java.util.ArrayList;
import java.util.List;

import org.test.entity.Student;

public class QueryStudents {

    public List<Student> queryStudent(Integer id) {

        List<Student> list = new ArrayList<Student>();
        Student student1 = new Student();
        student1.setId(1);
        student1.setPsw("abc");
        student1.setUser("ABC");
        list.add(student1);
        return list;
    }
}
 
package org.test.entity;

import java.io.Serializable;

public class Student implements Serializable {
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String user;
    private String psw;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getPsw() {
        return psw;
    }

    public void setPsw(String psw) {
        this.psw = psw;
    }
}

创建Student 的目的是以后要将Spring与Hibernate集成进来,后面再说。

 

然后在QueryStudent类上点右键 选择 web serives –> create web service

有两个滑块,把上面的滑块滑至最上端(为Test service)。把下方滑块滑至第二格(Develop client)表示生成当前服务的客户端代码

然后需要选择 web service runtime 为 Axis2

步骤如

image

然后一路next完成。

注意,如果需要生成客户端的测试代码,需要勾选 junit选项。

当服务启动后,在浏览器里输入

http://localhost:8080/WebServiceProject/services/QueryStudents?wsdl

就可以看到wsdl了

 

 

测试

因为在create web service 的第一步时选择了生成client端,所以在结束的时候会生成一个客户端的工程。

在客户端工程中加入junit

然后添加测试类,代码如下:

package org.test.service;

import java.util.ArrayList;
import java.util.List;

import org.test.entity.Student;

public class QueryStudents {

    public List<Student> queryStudent(Integer id) {

        List<Student> list = new ArrayList<Student>();
        Student student1 = new Student();
        student1.setId(111);
        student1.setPsw("abc");
        student1.setUser("ABC");
        list.add(student1);
        return list;
    }
}

 

运行后就能够得到在服务端代码里的ID值了。

 

如何与spring、hibernate明天继续。

 

本文参考:

http://oma1989.iteye.com/blog/1440239

posted @ 2012-08-09 17:48  Alex~  阅读(2904)  评论(0编辑  收藏  举报