Amazon Ads

顯示具有 1Z0-897 標籤的文章。 顯示所有文章
顯示具有 1Z0-897 標籤的文章。 顯示所有文章

2013年8月16日 星期五

【筆記】超輕量的Web Service

記得拜歐還在Java的入門等級時,有嘗試過去用Java寫一個Web Service出來,那時在網路上找Sample Code照著作,有時還跑不出來,就深深地覺得Java Web Service是個怪獸級的東東,後來工作上沒碰到,也就沒在注意它了。

最近在工作上有使用到,加上要考證照,就每天都會碰到,就發現以為要寫一堆程式才能實現的,現在幾行程式就可以弄出一個可以跑的Web Service,這多虧了JAX-WS API,很多複雜的運作,都幫我們準備好了,底下使用一個範例,只要兩支程式,就可以執行為Web Service。

package idv.bio.ws;
import javax.jws.WebService;
@WebService
public class Calculator {
public int add(int a, int b){
return a + b;
}
}
上列中,值得一提的是「@WebService」這個annotation,只要加上這個,就表示這支Java就是一個Web Service的實作類別。

再來,使用「Endpoint」這個類別來發佈:

package idv.bio.ws;
import javax.xml.ws.Endpoint;
public class CalculatorPublisher {
public static void main(String[] args){
String url = "http://localhost:1234/cal";
Endpoint.publish(url, new Calculator());
System.out.println("Calculator Service published, url: " + url);
}
}
執行「CalculatorPublisher.class」之後,在Console應該可以看到下列訊息:

2013/8/16 下午 11:24:57 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
資訊: Dynamically creating request wrapper Class idv.bio.ws.jaxws.Add
2013/8/16 下午 11:24:57 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
資訊: Dynamically creating response wrapper bean Class idv.bio.ws.jaxws.AddResponse
Calculator Service published, url: http://localhost:1234/cal
把「http://localhost:1234/cal?wsdl」貼到你的瀏覽器上,可以看到WSDL,它是描述Web Service相關資訊的一個XML文件,如:


使用Soup UI去驗證,結果如下:

2013年8月13日 星期二

[筆記]JAXP API的比較

JAXP API的比較
StAXSAXDOM
API類型Pull, streamingPush, streamingIn memory, tree
易用性高中等高
XPath Capable否否是
CPU與記憶體效率好好視使用方式而定
只能往前(Forward Only)是是否
讀取XML是是是
寫入XML是否是
Create, Read, Update, Delete否否是
參考來源:http://www.slideshare.net/krizsan/scdjws-5-study-notes-3085287