webservice之經過wsdl文件生成客戶端

經過前面咱們瞭解的內容,咱們來簡單的編寫一個webservice的實例java

環境:eclipse+jdk1.6web


那麼,咱們如何用java發佈一個webservice服務呢?eclipse

1)用jdk1.6之後的版本發佈;spa

(2)與Web服務相關的類,都位於Javax.jws.*包中code

        @WebService——此註解用在類上指定將此類發佈成一個WebService;orm

        EndPoint——此類爲端點服務類,其中publish()方法用於將一個已經添加了@WebService註解對象綁定到一個地址的端口上,用於發佈對象

例子:
圖片

1.發佈webservice服務
ip

項目結構(javaproject):get

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編譯的代碼也會出現錯了,你根據代碼提示刪除就好,不影響運行!

最後咱們來看一下運行結果:

總結:

固然在工做中咱們不是這麼簡單的編寫,我以爲還應該去看一下廣泛是怎麼用的,怎麼寫的!

相關文章
相關標籤/搜索