webservice之通過wsdl文件生成客戶端
通過前面我們了解的內容,我們來簡單的編寫一個webservice的實例
環境:eclipse+jdk1.6
那么,我們如何用java發布一個webservice服務呢?
1)用jdk1.6以后的版本發布;
(2)與Web服務相關的類,都位于Javax.jws.*包中
@WebService——此注解用在類上指定將此類發布成一個WebService;
EndPoint——此類為端點服務類,其中publish()方法用于將一個已經添加了@WebService注解對象綁定到一個地址的端口上,用于發布。
例子:
1.發布webservice服務
項目結構(javaproject):

HelloSir.java:

好了上面的代碼基本上就編寫完成了,原諒我直接放圖片,因為我在第一次寫這個例子的時候中間出現過幾次錯誤,我怕不標清楚會打噴嚏
點擊運行后,我們就可以查看我們生成的wsdl文件了

好了,生成的wsdl文件,如果有看不懂的,可以根據前面的內容來對照著看一下!這樣有便于記憶和理解!
既然服務已經發布了,wsdl文件也有了,我們就根據wsdl文件來生成客戶端來調用一下我們發布的服務
我們根據jdk自帶的wsimport命令來生成客戶端的代碼
wsimport.exe命令參數熟知:
-d:生成class文件。默認參數。
-s:生成Java文件
-p:自定義包結構

用這個命令后生成的代碼如下:

將他們黏貼復制到我們先建的工程下(javaproject)下:

然后編寫我們的調用代碼MyClient:
package www.yq.com;
/**
* @Project WebServiceClient
* @File MyClient.java
* @Package www.yq.com
* @Date 2016年1月14日 上午11:02:14
* @Author
* @email
*/
public class MyClient {
public static void main(String[] args) {
HelloSirService hss = new HelloSirService();
HelloSir hs = hss.getHelloSirPort();
String result = hs.sayHello("大波");
System.out.println(result);
}
}
這完了以后基本就大功告成了,當然你在用客戶端調用發布的服務時,服務不能停止,如果停止會報連接錯誤!
當然jdk編譯的代碼也會出現錯了,你根據代碼提示刪除就好,不影響運行!
最后我們來看一下運行結果:

總結:
當然在工作中我們不是這么簡單的編寫,我覺得還應該去看一下普遍是怎么用的,怎么寫的!