WebService總結

三年沒寫了。。。好快。。上班之後還是重拾起來,雖然早已不做ACM了,但是和大家分享知識總是令人高興地。


說下項目中常用到的WebService吧,WebService技術是一種跨平臺、耦合度非常低的應用。實際場景:

1.提供WebService的WSDL地址,要求我們調用其中的方法,完成某些業務邏輯。此時我們是客戶端調用服務,別人是服務端提供服務。

假設有這樣的一個WSDL地址,10.112.11.145:9902/App/MyImplService?WSDL;裏面定義了一個方法void add(int x,int y);


我們在瀏覽器地址中輸入這個WSDL地址(前提是有效的),就可以看到一些XML,通常是SOAP報文。

開發的時候,

第一步:打開CMD的DOS窗口,進入你的jdk安裝目錄的bin下面,比如我的是D:/jdk1.6.0_26/bin,利用jdk提供的wsimport.exe工具來生成我們本地需要的java代碼。

命令如下:

wsimport  -s  D;\Test\src  http://10.112.11.145:9902/App/MyImplService?WSDL,

就可以在指定的Src目錄下獲得我們的java代碼了。


第二步:


把上面得到的Java文件直接導入到我們的項目中,就跟用已有的Java文件一樣,可以直接用,調用過程也很簡單。

MyImplService service = new MyImplService();
MyImpl serviceImpl = service.getMyImplPort();
serviceImpl.add(xx,xx);

這樣就完成了整個過程的調用。


2.服務提供方。我們作爲WebService的提供方開發接口,別人來調用我們的服務,像1中我們的操作一樣。

這個相信也有很多人都做過了,很簡單,

第一步:根據你具體的業務邏輯定義接口,

package com.sgx.webservice;

import javax.jws.WebService;

@WebService
public interface Hello {
	void sayHello();
}


第二步:完成實現類

package com.sgx.webservice;

import javax.jws.WebService;

@WebService
public class HelloImpl implements Hello{

	@Override
	public void sayHello() {
		System.out.println("Hello,World!");
	}

}

第三步:發佈WebService,

1.如果是本地項目的話,直接用java裏面的Endpoint.publish(yourwsdl)即可。

2.如果是要上其他環境(UAT,生產==)這個時候我們只需要定義好我們的WebService接口,WebMethod等等。

如果是WebLogic服務器的話,服務端只需要定義接口和實現類,這樣應用啓動的時候就會自動檢測到這個WebService服務並且將他發佈出去,

我們在瀏覽器輸入地址驗證一下即可。



然後別人就可以調用了我們發佈的服務了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章