1. 程式人生 > >帶接口的webservice 的發布

帶接口的webservice 的發布

test [] class pac span col code javax println

1.接口:(打上service註解)

package ws.qlq.a;

import javax.jws.WebService;

/**
 * 面向接口的webservice發布方式
 * 
 * 
 */
@WebService
public interface JobService {
    public String getJob();
}

2.實現類(也要打賞註解設置服務端點接口全路徑)

package ws.qlq.a;


import javax.jws.WebService;

@WebService(endpointInterface
="ws.qlq.a.JobService")//設置服務端點接口 ,指定對外提供服務的接口 public class JobServiceImpl implements JobService { @Override public String getJob() { return "JEE研發工程師|Android研發工程師|數據庫工程師|前端工程師|測試工程師|運維工程師"; } public void say(){ System.out.println("早上好!"); } }

3.發布service的類

package ws.qlq.a;


import javax.xml.ws.Endpoint;

public class Test {

    public static void main(String[] args) {
        JobService jobService=new JobServiceImpl();
        String address="http://127.0.0.1:9999/ws/jobservice";
        Endpoint.publish(address, jobService);
        System.out.println(
"wsdl地址:"+address+"?WSDL"); } }

結果:

wsdl地址:http://127.0.0.1:9999/ws/jobservice?WSDL

4.客戶端通過wsimport生成本地代理以及打包成jar包

C:\Users\liqiang>cd Desktop

C:\Users\liqiang\Desktop>wsimport http://127.0.0.1:9999/ws/jobservice?WSDL

C:\Users\liqiang\Desktop>jar -cvf test.jar ./ws    (打包之後名字為test.jar,打包的文件夾為當目錄的ws文件夾)
已添加清單
正在添加: ws/(輸入 = 0) (輸出 = 0)(存儲了 0%)
正在添加: ws/qlq/(輸入 = 0) (輸出 = 0)(存儲了 0%)
正在添加: ws/qlq/a/(輸入 = 0) (輸出 = 0)(存儲了 0%)
正在添加: ws/qlq/a/GetJob.class(輸入 = 411) (輸出 = 277)(壓縮了 32%)
正在添加: ws/qlq/a/GetJobResponse.class(輸入 = 733) (輸出 = 414)(壓縮了 43%)
正在添加: ws/qlq/a/JobService.class(輸入 = 772) (輸出 = 430)(壓縮了 44%)
正在添加: ws/qlq/a/JobServiceImplService.class(輸入 = 2304) (輸出 = 1036)(壓縮了
55%)
正在添加: ws/qlq/a/ObjectFactory.class(輸入 = 1495) (輸出 = 661)(壓縮了 55%)
正在添加: ws/qlq/a/package-info.class(輸入 = 230) (輸出 = 184)(壓縮了 20%)

5.客戶端測試webservice(將上面打好的jar包加進項目)

package cn;

import ws.qlq.a.JobService;
import ws.qlq.a.JobServiceImplService;

public class JobServiceTest {

    public static void main(String[] args) {
        JobServiceImplService jobServiceImplService = new JobServiceImplService();
        JobService jobServiceImplPort = jobServiceImplService.getJobServiceImplPort();
        String job = jobServiceImplPort.getJob();
        String [] jobs =job.split("\\|");
        for (String s:jobs){
            System.out.println(s);
        }
    }
}

JEE研發工程師
Android研發工程師
數據庫工程師
前端工程師
測試工程師
運維工程師

帶接口的webservice 的發布