Webservice服务端

来源:互联网 发布:js 排序算法 编辑:程序博客网 时间:2024/05/19 11:48

    WebService是应用程序之间相互调用的技术,遵循技术规范开发的不同应用程序之间可以相互调用。应用程序可以部署在不同操作系统上(例如:linux、Windows等主流系统),应用程序可以可以使用不同的语言编写(例如:Java、C#),不同操作系统或者不同语言的的webservice程序可以相互调用。 接下来我们基于JDK开发一个简单的WebService程序调用示例。

环境准备:

Windows7

JDK7

Eclipse4.4.2


首先需要开发一个服务端代码,以下是代码结构:

在Eclipse中创建一个Web应用程序,程序名为:WebserviceServerProj,项目结构如下:



开发步骤如下:

1、创建一个实体类

package cn.com;

import java.util.Date;

/**
 * @author xu.hongsheng
 * @date 2017-09-30
 *
 */
public class User {

    private long userId;
    private String userName;
    private Date birthDay;

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

}

2、创建一个接口类

package cn.com;

import java.util.ArrayList;
import java.util.HashMap;
import javax.jws.WebService;

/**
 * @author xu.hongsheng
 * @date 2017-09-30
 * 该注解告诉应用UserService接口类为一个SEI服务
 * (Service Endpoint Interface:服务端接口)
 */
@WebService
public interface UserService {  
    //新增用户调用
    public void insert(User user);
    //用户列表查询
    public  ArrayList<User> qryPageList(HashMap<String, Object> pramMap);    
}

3、创建一个实现类

package cn.com;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import javax.jws.WebService;

/**
 * @author xu.hongsheng
 * @date 2017-09-30
 * endpointInterface:指定端口服务类,该类必须加注解@WebService
 * serviceName:指定端口服务的名称
 */
@WebService(endpointInterface="cn.com.UserService",
serviceName="UserServiceImpl")
public class UserServiceImpl implements UserService{

    public void insert(User user) {
        //输出客户端传到服务端的生日
        System.out.println("客户端insert方法传入的参数:"+user.getBirthDay());
    }

    public ArrayList<User> qryPageList(HashMap<String,Object> pramMap) {
        //输出客户端传到服务端的用户名
        System.out.println("客户端qryPageList方法传入的参数:"+pramMap.get("userName"));
        ///服务端向客户端返回数据
        ArrayList<User> list = new ArrayList<User>();
        User user = new User();
        user.setUserName("lucy");
        user.setBirthDay(new Date());
        list.add(user);
        return list;
    }

}


4、服务发布类

package cn.com;

import javax.xml.ws.Endpoint;

/**
 * @author xu.hongsheng
 * @date 2017-09-30
 * 功能描述:启动服务端
 */
public class StartServer {

    public static void main(String[] args) {
        UserService userService = new UserServiceImpl();
        //调用EndPoint的publish方法发布服务, 第一个服务为地址 ,第二个参数就是服务的提供者  
        //http://127.0.0.1:8981/user?wsdl
        Endpoint.publish("http://127.0.0.1:8981/user", userService);
        System.out.println("WebService启动成功了");
    }
    
}

5、运行StartServer,在浏览器中访问地址:http://127.0.0.1:8981/user?wsdl,如果服务成功则如下图:





原创粉丝点击