wsimport 使用方法具體解釋


wsimport 使用方法

本文主要介紹wsimport的簡單使用方法。幫助大家在webserviceclient開發過程中生成接口代碼:
打開java JDK文件夾我們會看到wsimport工具,這是由sun為我們免費提供的的。功能強大,會給我們工作帶來極大的方便。
如圖所看到的

創建服務端代碼:
代碼結構

接口

package com.huawei.idp.composer.service;

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

@WebService
public interface MyService {
    @WebMethod
    public int add(@WebParam(name="a")int a, @WebParam(name="b")int b);
}

實現類

package com.huawei.idp.composer.service.impl;

import javax.jws.WebService;

import com.huawei.idp.composer.service.MyService;

@WebService(endpointInterface="com.huawei.idp.composer.service.MyService")
public class MyServiceimpl implements MyService {

    @Override
    public int add(int a, int b)
    {
        return a + b;
    }

}

調用wsimport工具。打開dos窗體。輸入命令:

wsimport -d D:\test -keep -verbose  http://127.0.0.1:8080/hello?wsdl

這里簡介一下參數:

  1. -d 表示輸出的文件夾。文件夾必須事先存在,否則導出失敗。
  2. -keep 表示導出webservice的class文件時是否也導出源碼java文件。
  3. -verbose verbose表示具體信息。

我們打開D:\test會發現生成了例如以下文件:
這里寫圖片描寫敘述

我們在Eclipse中又一次建立一個project,將這個文件夾復制到src文件夾下
紅框中的類都是自己主動生成的
然后開始編寫client代碼

package com.huawei.idp.composer.client;

import com.huawei.idp.composer.service.impl.MyService;
import com.huawei.idp.composer.service.impl.MyServiceimplService;

public class Test
{
    public static void main(String[] args)
    {
        MyServiceimplService myserviceImpl = new MyServiceimplService();
        MyService myService = myserviceImpl.getMyServiceimplPort();
        System.out.println(myService.add(1, 2));
    }
}

[調用結果](http://img.blog.csdn.net/20150822175745450)``


這里值得注意的是,生成的MyServiceimplService類並非服務端實現類,而是繼承了Service的類而且提供了方法:

/**
*
* @return
* returns MyService
*/
@WebEndpoint(name = “MyServiceimplPort”)
public MyService getMyServiceimplPort() {
return super.getPort(new QName(“http://impl.service.composer.idp.huawei.com/“, “MyServiceimplPort”), MyService.class);
}

“`

這里直接幫我們生成了一個Qname訪問程序。既然怎樣,我們就不用自己寫qname了。直接拿來用測試豈不更好?

到此為止,一個簡單的webservice就實現了,假設對大家有幫助,請點贊假設有不足之處,敬請指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM