最近在工作上有使用到,加上要考證照,就每天都會碰到,就發現以為要寫一堆程式才能實現的,現在幾行程式就可以弄出一個可以跑的Web Service,這多虧了JAX-WS API,很多複雜的運作,都幫我們準備好了,底下使用一個範例,只要兩支程式,就可以執行為Web Service。
上列中,值得一提的是「@WebService」這個annotation,只要加上這個,就表示這支Java就是一個Web Service的實作類別。package idv.bio.ws;import javax.jws.WebService;@WebServicepublic class Calculator {public int add(int a, int b){return a + b;}}
再來,使用「Endpoint」這個類別來發佈:
執行「CalculatorPublisher.class」之後,在Console應該可以看到下列訊息: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);}}
把「http://localhost:1234/cal?wsdl」貼到你的瀏覽器上,可以看到WSDL,它是描述Web Service相關資訊的一個XML文件,如:2013/8/16 下午 11:24:57 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass資訊: Dynamically creating request wrapper Class idv.bio.ws.jaxws.Add2013/8/16 下午 11:24:57 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass資訊: Dynamically creating response wrapper bean Class idv.bio.ws.jaxws.AddResponseCalculator Service published, url: http://localhost:1234/cal
使用Soup UI去驗證,結果如下:
沒有留言:
張貼留言