寫一個 java, 用以呼叫一由 dotnet 開發的 web service method
開發工具:
Eclipse
簡單的來說, 先新增一個 web service client, 接著找到 web service soap proxy 類別來使用即可。
步驟:
(1) 在 Eclipse 專案上, 新增一個 web service client:
new - other... - Web Services - Web Service Client
輸入 web service WSDL , 如: http://localhost/Hello/HelloWorld.asmx?WSDL
接著在 src 下, 會新增 org.tempuri ; 而在這底下, 會出現一些 .java 的檔案。
如果在 web service 之中, 定義或用到了許多 class, 則會產生像 class1.java, class2.java 的檔案。
(2) 如何使用呢?
首先, 偷懶的話, 先 import 一下:
import org.tempuri.*;假設 web service 定義名稱為 Service1 class 的話, 則會有 Service1.java, Service1Soap.java, Service1SoapProxy.java, ......。
上列前兩個是 interface, 而第三個 Service1SoapProxy 這個才是類別, 用來與 web service in server 連接。
String uri = "http://localhost/Hello/HelloWorld.asmx";
BWECSearchServiceSoapProxy s = new BWECSearchServiceSoapProxy(uri);
Result qr = s.query("mp3");
for (Document doc : qr.getDocs())
{
......
}
// 其中, query() 為 web service method, Result, Document 為 web service 中定義之類別, Docs 為 Result 類別中之一屬性, 型別為 Document[]
打完收工!
ps:
如果 eciplise 下載了繁體的 menu 的話, 那很有可能會發生一件事:
新增 - 其他... ( new - others... )被 disable 了, 也就是無法新增其他類型的檔案, 如 web service client。
不過, 只需移除繁體 menu , 重啟後就恢復正常了。
0 意見:
張貼留言