当前位置 : 主页 > 网页制作 > Nodejs >

WebService的实现之一jdk实现

来源:互联网 收集:自由互联 发布时间:2021-06-24
我们知道java对WebService的实现由N种方式,这里先描述的是jdk源生的支持。 1、编写服务端 编写发布接口: //提供获取幸运数字的Web Service @WebService public interface LockNumService { @WebMethod int

我们知道java对WebService的实现由N种方式,这里先描述的是jdk源生的支持。

1、编写服务端

编写发布接口:

//提供获取幸运数字的Web Service
@WebService
public interface LockNumService {

    @WebMethod
    int getNum();
    @WebMethod
    @WebResult(name="luck") int getNumByName(@WebParam(name="name")String name);
}

接口实现类:

//SEI
//标记这是一个Web Service接口数据
@WebService(endpointInterface="org.qf.web.ws.LockNumService")
public class LockNum implements LockNumService{

    private Random rm=new Random();

    @Override
    public int getNum() {
        // TODO Auto-generated method stub
        System.out.println("我是服务端,客户端调用了我");
        return rm.nextInt(10);
    }

    @Override
    public int getNumByName(String name) {
        // TODO Auto-generated method stub
        System.out.println(name+":你的幸运数字,马上揭晓");
        return rm.nextInt(10);
    }

}

发布接口:

public static void main(String[] args) {
        //发布服务,参数说明:1、访问路径2、要发布的对象
    Endpoint.publish("http://10.31.152.15:9090/ws/lock", new LockNum());
        System.out.println("亲,WS的幸运数字,已经发布……");
    }

2、使用wsimport自动生成客户端代码

jdk的安装目录下有wsimport软件用来生成客户端的代码。
打开cmd,进入到指定的路径,使用命令:
wsimport -keep http://10.31.152.15:9090/ws/lock?wsdl
即可生成客户端的代码

3、客户端调用接口

public static void main(String[] args) throws Exception {
        //创建服务对象
        LockNumService_Service service=new LockNumService_Service();
        //创建接口的实现类对象---服务端
        LockNumService ln=service.getLockNumPort();
        //调用接口中的方法
        System.out.println("我是客户端:"+ln.getNum());
        System.out.println("我是客户端:"+ln.getNumByName("小二"));
        }
网友评论