資源描述:
《java編寫(xiě)簡(jiǎn)單的webservice實(shí)例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、利用Java編寫(xiě)簡(jiǎn)單的WebService實(shí)例????使用Axis編寫(xiě)WebService比較簡(jiǎn)單,就我的理解,WebService的實(shí)現(xiàn)代碼和編寫(xiě)Java代碼其實(shí)沒(méi)有什么區(qū)別,主要是將哪些Java類(lèi)發(fā)布為WebService。下面是一個(gè)從編寫(xiě)測(cè)試?yán)拥桨l(fā)布WebService,以及編寫(xiě)測(cè)試代碼的過(guò)程介紹。????本例子的WebService提供了兩個(gè)方法,分別是sayHello和sayHelloToPerson,第一個(gè)只是返回一個(gè)"Hello"字符串,沒(méi)有參數(shù),第二個(gè)函數(shù)接受一個(gè)字符串作為參數(shù),返
2、回"Hello參數(shù)值",該例子比較簡(jiǎn)單,但是清楚的說(shuō)明了從編寫(xiě)代碼到發(fā)布為WebService以及測(cè)試編寫(xiě)好的WebService全過(guò)程。編寫(xiě)服務(wù)代碼?????服務(wù)代碼提供了兩個(gè)函數(shù),分別為sayHello和sayHelloToPerson,源代碼如下:?Code/**//*?*?File?name:?HelloService.java?*??*?Version:?v1.0?*??*?Created?on?Aug?2,?2008?9:40:20?AM?*??*?Designed?by?Stephen
3、?*??*?(c)Copyright?2008?*/package?com.sinosoft.webservice;/**?*//**?*?@author?Stephen?*??*?Test?web?service?*/public?class?HelloService?{????/**?*//**?????*?不帶參數(shù)的函數(shù)?????*??????*?@return?返回Hello字符串?????*/????public?String?sayHello()?{????????return?"Hel
4、lo";????}????/**?*//**?????*?帶參數(shù)的函數(shù)?????*??????*?@param?name?????*????????????名稱(chēng)?????*?@return?返回加上名稱(chēng)的歡迎詞?????*/????public?String?sayHelloToPerson(String?name)?{????????if?(name?==?null?
5、
6、?name.equals(""))?{????????????name?=?"nobody";????????}????????
7、return?"Hello?"?+?name;????}}發(fā)布WebService?????要將上邊寫(xiě)的HelloService類(lèi)發(fā)布為WebService,需要先搭建Web應(yīng)用。下面是在Tomcat下使用Axis創(chuàng)建WebService服務(wù)的例子。在Tomcat下創(chuàng)建Web應(yīng)用????在該例子中,在Tomcat下創(chuàng)建了一個(gè)contextpath為ws的WEB應(yīng)用。?????1.在Tomcat的webapps下創(chuàng)建如下文件系統(tǒng)??????????ws???????????????WEB-INF???
8、?????????????????lib????????????????????classes?????2.在WEB-INF文件夾下創(chuàng)建web.xml文件,該文件的內(nèi)容如下:?Code
9、.dtd">??Apache-Axis????????????????org.apache.axis.transport.http.AxisHTTPSessionListener??????????????AxisServlet????10、play-name>Apache-Axis?Servlet????????????org.apache.axis.transport.http.AxisServlet??????
??????AdminServlet????Axis?Admin?Servle