使用jdk原生方式實現一個簡單的webservice

一、服務端
1、接口,注意使用註解

package com.zqw.webservice.demo;

import javax.jws.WebMethod;
import javax.jws.WebService;

/**
 * //TODO
 *
 * @author zhuquanwen
 * @vesion 1.0
 * @date 2019/11/8 21:10
 * @since jdk1.8
 */
@WebService
public interface IHelloWorld {
    @WebMethod
    String sayHelloWorld(String username);
}

2、實現類,注意使用註解

package com.zqw.webservice.demo;

import javax.jws.WebService;

/**
 * //TODO
 *
 * @author zhuquanwen
 * @vesion 1.0
 * @date 2019/11/8 21:12
 * @since jdk1.8
 */
@WebService
public class HelloWorldImpl implements IHelloWorld {
    @Override
    public String sayHelloWorld(String username) {
        System.out.println("username;" + username);
        return "hello world,".concat(username);
    }
}

3、發佈類

package com.zqw.webservice.demo;

import javax.xml.ws.Endpoint;

/**
 * //TODO
 *
 * @author zhuquanwen
 * @vesion 1.0
 * @date 2019/11/8 21:14
 * @since jdk1.8
 */
public class Start {

    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8788/helloworld", new HelloWorldImpl());
        System.out.println("webservice服務已啓動");
    }
}

4、查看wsdl文檔
訪問http://localhost:8788/helloworld
在這裏插入圖片描述
二、客戶端
1、生成客戶端調用源碼
使用jdk bin目錄下的wsimport.exe

wsimport.exe -keep http://localhost:8788/helloworld?wsdl

在這裏插入圖片描述
2、調用
將生成的代碼拷貝編譯
將代碼拷貝至編輯器,去掉.class文件
結構如下:
在這裏插入圖片描述
上圖Client是我後創建的,不算

創建調用類

package com.zqw.webservice.demo;

/**
 * //TODO
 *
 * @author zhuquanwen
 * @vesion 1.0
 * @date 2019/11/8 21:35
 * @since jdk1.8
 */
public class Client {
    public static void main(String[] args) {
        HelloWorldImplService service = new HelloWorldImplService();
        HelloWorldImpl helloWorld = service.getHelloWorldImplPort();
        String msg = helloWorld.sayHelloWorld("張三");
        System.out.println(msg);
    }
}

運行就可以咯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章