別的同事在忙這個東西,正巧我不會所以就找資源學了點。
webService是什么東西可以去w3cSchool去看,但是那里只有.net的教程
那么我這里就記錄下我的學習
步驟提綱:
1創建發布接口的服務器
2確認接口服務器運行正常可被調用
3通過CMD構造客戶端
4調用客戶端產生的接口,運行接口方法。
1.1:首先在Eclipse上創建web Service project類型項目名為TheService
1.2:然后創建對外公布的接口如下
//WebService類型注解 SOAP類型注解 @WebService @SOAPBinding(style=Style.RPC) public interface MyServiceInter { //方法注解 @WebResult(name="addResult") public int add(@WebParam(name="a")int a ,@WebParam(name="b")int b); }
1.3:創建該接口的實體類,構造接口方法具體實現
//webService對應的接口類 @WebService(endpointInterface="com.dhh.Service.MyServiceInter") @SOAPBinding(style=Style.RPC) public class MyService implements MyServiceInter { //對外公布接口的具體實現 @Override public int add(int a, int b) { // TODO Auto-generated method stub System.out.println("a+b="+(a+b)); return a+b; } }
1.4:創建服務器啟動,這里使用main方法啟動
public class Server { public static void main(String[] args) { //web路徑 String address="http://localhost:8888/myservice"; //配置路徑與該路徑下的接口實現類 Endpoint.publish(address, new MyService()); System.out.println("publish success"); } }
2.1:該服務端啟動之后可以在瀏覽器輸入address+“?wsdl”查看接口內容。
如本例子中的:http://localhost:8888/myservice?wsdl
內容如下圖:

3.1:先以Web Service project創建空項目 TheClient(注意這一系列操作的過程中服務端必須開啟狀態)
3.2:調用CMD命令輸入命令

wsimport -d "(客戶端項目src路徑)" -keep (接口調用url)
3.3:刷新項目,你就會看到你的項目下多了一個包,跟服務端的包類似如下圖:

MyClient是我后來第四部創建的類,懶得刪了,你生成的包應該是沒MyClient的。
4.1創建客戶端測試類如下圖運行即可發現可調用服務器的方法了
public class MyClient { public static void main(String[] args) { //MyServiceService接口的具體實現類,用來回調接口 MyServiceService myService = new MyServiceService(); //回調接口,以便使用接口方法 MyServiceInter myServiceInter = myService.getMyServicePort(); System.out.println(myServiceInter.add(28, 55)); } }
在客戶端的操作必須在服務端正常運行下操作。
可查看服務端控制台,每次調用接口的時候服務端也會運行相應的具體實現方法。
