最近呢,聽朋友說了一下WebService,當時不懂,不知道什麼事webService,於是萌生了學習一下的念頭,不甘落後嘛!!!呵呵,廢話少說,現在切入正題!
相信大家,也都或多或少的瞭解一點WebService了,我們上兩篇博文中也講過課~~~我們這次呢,主要是以圖文結合的形式,來教大家操作一些簡單的例子~~帶你入門!!
這一節是針對初學者的,所以講的很淺很淺,適合入門者學習,尤其不是到怎麼操作的~~~
好的我們開始吧~~~
怎麼樣發佈webService?
1、用Jdk1.6.0_21以後的版本發佈一個WebService服務.並通過地址欄查看它的wsdl文檔.
2、通過wsimport生成客戶端代碼,調用並查看運行的結果.(學會如何調用是我們的重點).
需要注意的是,jdk1.6._07以後jdk版本發佈WebService時必須要完整的對代碼進行註解,如果使用的是jdk1.6.0_21以後版本,因爲它已經內含了ws2.1所以,可以只對類添加@WebService的註解.
我們來看一下自己的jdk的版本號吧~~
運行cmd
輸入 java -version
即可
下面是我的~~
好的,我們接下來建項目
首先呢,我們建立一個java的項目,並建立一個Test1.java類,內容如下:
import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; import javax.xml.ws.Endpoint;
@WebService(targetNamespace="http://localhost:1444/test1") @SOAPBinding(style=Style.RPC) public class Test1 { @WebMethod public String method1(){ return "這是來自method1的消息"; } public static void main(String s[]){ Endpoint.publish("http://localhost:1444/test1",new Test1()); }
}
文件結構如下:
如果運行一下,沒出現錯誤,說明我們寫的程序是對的!
好了,我們接下來,打開cmd
我們先在任何一個盤下面建立一個文件夾,在這裏我們在C盤根目錄建立一個test1的文件夾,然後,
讓cmd定位到test1目錄下
然後運行以下命令
它提示錯誤!!這就是因爲,你的Test1.java沒運行的原因,我們運行以後試一下,
好的,運行成功,我們看一下,發生了什麼吧?
我們打開我們剛纔建立的test1文件夾,發現多了好多文件夾,還有一些java類,沒錯!!!我們要的就是這個!!
然後,我們新建一個java項目,然後將這些所有的JAVA類文件考到項目中,不用考class文件!!然後將java文件中的包路徑改一下!!
如圖:
然後,我們在client包中新建一個Run.java類,調用我們考過來的java類即可~~~
內容如下:
package client; public class Run { public static void main(String s[]){ Test1 t=new Test1Service().getTest1Port(); String s1=t.method1(); System.out.println(s1); } }
此時運行一下,會報錯!!是因爲你沒有啓動Test1.java而已~~~啓動之後,再運行Run.java
OK~~~~輸出“這是來自method1的消息”
這就可以了~~~~
成功了~~~~~
當你把Test1.java中的method1()方法修改之後,重新啓動Test1.java,在運行Run.java,照樣能獲取到最新修改的數據~~~
這就行了,這樣你就對外界暴露了你的Test1中的method1的方法,別人通過“http://localhost:1444/test1?wsdl” 同樣在cmd中運行
“wsimport -s . http://localhost:1444/test1?wdsl” 如果是外網的話,在別人的文件夾下也可以生成一些java文件,放到自己的項目中,就可以用了~~~~
我們在這裏就不再演示了~~
大家可以用一些公共的webservice接口試一下,我上篇博文中羅列出了很多接口,大家可以試一下~~~~
我們在這裏只是介紹了一些簡單的操作~~~
還沒深入的學習~~任重而道遠啊~~~~