版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
首先,介紹一下幾種常用的webservice開(kāi)發(fā)框架的開(kāi)發(fā)步驟。Net環(huán)境IDE為MicrosoftVisualStudio2005服務(wù)器端開(kāi)發(fā)步驟為:1、 新建一個(gè)WebSite,選擇ASP.NetWebService,語(yǔ)言選擇C#2、 在IDE自動(dòng)生成的服務(wù)器端代碼App_Code/Service.cs中加入自己的業(yè)務(wù)邏輯代碼3、 選中WebSite,右鍵選擇“ViewinBrowser"即可進(jìn)行測(cè)試VS2005自帶有內(nèi)嵌的測(cè)試web服務(wù)器,測(cè)試起來(lái)非常方便。注意Service.asmx為webservice發(fā)布后的訪問(wèn)入口文件。要發(fā)布到IIS或者apache中,需要先選中WebSite,右鍵選擇“PublishWebSite",指定發(fā)布的目錄,即對(duì)應(yīng)的web服務(wù)器發(fā)布應(yīng)用的目錄。客戶端開(kāi)發(fā)步驟:1、 新建一個(gè)ConsoleApplication2、 選中工程,右鍵選擇“AddWebReference",指定可訪問(wèn)的webservice的URL地址,進(jìn)行添加3、 引入命名空間,即可方便使用客戶端存根代碼。Java環(huán)境CXFCXF的前身是Xfire,具體內(nèi)容可參照/
服務(wù)器端開(kāi)發(fā)步驟為:1、 首先訪問(wèn)/cxf/下載所需的jar包。2、 新建一個(gè)web工程,將下載的CXF的開(kāi)發(fā)包加入到lib中。3、 在web.xml文件中添加提供webservice的監(jiān)聽(tīng)servlet,對(duì)應(yīng)的處理類名為org.apache.cxf.transport.servlet.CXFServlet,并設(shè)置其啟動(dòng)時(shí)裝載順序?qū)傩詾?;指定訪問(wèn)servlet的URL格式。內(nèi)容可參考如下所示:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><!--cxfservletconfiguration——><servlet><servlet-name>CXFServlet</servlet-name〉<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping〉<servlet-name>CXFServlet</servlet-name〉<url-pattern>/services/*</url-pattern></servlet-mapping></web-app>4、新建一個(gè)services.xml配置文件,內(nèi)容如下所示:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jaxws="/jaxws"xmlns:simple="/simple"xmlns:soap="/bindings/soap"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd/bindings/soap/schemas/configuration/soap.xsd/simple/schemas/simple.xsd/jaxws/schemas/jaxws.xsd"><importresource="classpath:META-INF/cxf/cxf.xml"/><importresource="classpath:META-INF/cxf/cxf-extension-soap.xml"/><importresource="classpath:META-INF/cxf/cxf-servlet.xml"/><beanid="notifyService"class="bingo.mcs.service.ws.NotifyService"/><jaxws:endpointid="NotifyService"implementor="#notifyService"address="/NotifyService"/></beans>在如上的配置文件中,我們指定了要發(fā)布為webservice的類名,訪問(wèn)地址,訪問(wèn)端點(diǎn)標(biāo)識(shí)。5、編寫要發(fā)布為webservice的類和接口,注意注解(annotation)的使用??蓞⒄杖缦碌拇a:packagecom.webservice;importjavax.jws.WebService;//接口類:@WebServicepublicinterfaceINotifyService{publicvoidsayHello(Stringname);}//實(shí)現(xiàn)類:packagecom.webservice;@WebServicepublicclassNotifyServiceimplementsINotifyService{publicvoidsayHello(Stringname){System.out.println(“hello,”+name);6、 向lib包中加入Spring的開(kāi)發(fā)包,并確保classpath下有對(duì)應(yīng)的bean定義文件,例如beans.xml。<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""/dtd/spring-beans-2.0.dtd"><beans></beans>7、 發(fā)布web應(yīng)用到對(duì)應(yīng)的web容器(例如tomcat5.5)或者用內(nèi)嵌的Jetty6.0進(jìn)行部署。客戶端的開(kāi)發(fā)步驟:這里介紹通過(guò)wsdl文件生成客戶端存根代碼的方式,前提是要先下載CXF的工具包。1、編輯Ant腳本,可參照如下配置:<?xmlversion="1.0"?><projectname="wsdl2java"basedir="."><description>用于通過(guò)wsdl文件生成java代碼的ant文件</description>
<propertyname="cxf.home"location="E:/2008/cxf\apache-cxf-2.0.3-incubator"/><pathid="cxf.classpath"><filesetdir="${cxf.home}/lib"><includename="*.jar"/></fileset></path><targetname="cxfWSDLToJava"><javaclassname="org.apache.cxf.tools.wsdlto.WSDLToJava"fork="true"〉<argvalue="-client"/><argvalue="-d"/><argvalue="src/main"/><argvalue="WebService.wsdl"/><classpath><pathrefid="cxf.classpath"/></classpath></java></target></project>上面的WebService.wsdl為服務(wù)器端webservice對(duì)應(yīng)的wsdl文件。2、運(yùn)行Ant腳本生成客戶端存根代碼,將代碼和依賴的CXF包引入到自己的工程即可使用。NetBeans
由于Sun已經(jīng)在J2EE5.0中提供了對(duì)Jax-ws規(guī)范的實(shí)現(xiàn),并且提供了NetBeansIDE對(duì)J2EE5.0的支持,使得開(kāi)發(fā)webservice非常簡(jiǎn)單。前提條件是我們需要到http://www.ne/下載NetBeans6.0。官方的下載文件中已經(jīng)集成了Tomcat6.0和J2EE5.0。服務(wù)器端開(kāi)發(fā)步驟:1、 打開(kāi)NetBeansIDE,新建一個(gè)WebAppLication2、 選中WebApplication,右鍵選擇“New WebService",按照向?qū)Ш蛨D形界面新建自己的webservice。注意對(duì)Jax-ws中注解的使用,可參照如下代碼:packagecom.webservice;importjava.util.Calendar;importjavax.jws.WebMethod;importjavax.jws.WebParam;importjavax.jws.WebService;importjavax.xml.ws.Holder;@WebService()publicclassnotify{@WebMethod(operationName=〃SendSMS〃)publicbooleanSendSMS(
@WebParam(name=""userID"")StringuserID,@WebParam(name=""systemID"")StringsystemID,@WebParam(name=""content"")Stringcontent,@WebParam(name=""sendSMSID"")StringsendSMSID){//TODOwriteyourimplementationcodehere:System.out.println(userID);System.out.println(systemID);System.out.println(content);System.out.println(sendSMSID);returnfalse;}@WebMethod(operationName=""ReceiveSMS"")publicnet.gmcc.sz.eap.WebService.SMSResponse[]ReceiveSMS(@WebParam(name=""systemID"")StringsystemID,@WebParam(name=""autoClose")booleanautoClose){//TODOwriteyourimplementationcodehere:System.out.println(systemID);System.out.println(autoClose);SMSResponse[]responses=newSMSResponse[3];for(inti=0;i<3;i++){SMSResponseresp二newSMSResponseO;resp.setContent("content:"+i);resp.setSendSMSID("sendSMSID:"+i);resp.setReceivedSMSID("receivedSMSID"+i);responses"]二resp;}returnresponses;}@WebMethod(operationName="SendSMS_Time")publicbooleanSendSMSTime(@WebParam(name="userID")StringuserID,@WebParam(name="systemID")StringsystemID,@WebParam(name="content")Stringcontent,@WebParam(name="sendTime")CalendarsendTime,@WebParam(name="sendSMSID")StringsendSMSID){//TODOwriteyourimplementationcodehere:System.out.println(userID);System.out.println(systemID);System.out.println(content);System.out.println(sendTime);System.out.println(sendSMSID);returnfalse;@WebMethod(operationName=""sendByteData〃)publicbooleansendByteData(@WebParam(name=""data〃)byte[]data){//TODOwriteyourimplementationcodehere:System.out.println(newString(data));returnfalse;}/***Webserviceoperation*/@WebMethod(operationName=""sendRefParameter"")publicStringsendRefParameter(@WebParam(name=""content"",mode=WebParam.Mode.INOUT)Holder<String>content){//TODOwriteyourimplementationcodehere:content,value="serverreceived";System.out.println(content.value);returncontent,value;客戶端開(kāi)發(fā):
1、 打開(kāi)NetBeansIDE,新建一個(gè)JavaApplication2、 選中JavaApplication,右鍵Newwebserviceclient,按照向?qū)瓿?、 在生成的Main類的方法中,右鍵 >Webserviceclientresource >Callwebserviceoperation,按照向?qū)瓿?、 設(shè)置調(diào)用參數(shù)的初始值,完成客戶端的調(diào)用代碼Axis這里簡(jiǎn)單介紹一下Axisl.x版本的使用方法。服務(wù)器端開(kāi)發(fā):1、 到/axis/下載所需的lib包2、 將lib包中的jar包路徑設(shè)置到classpath中3、 啟動(dòng)web服務(wù)器,發(fā)布下載包中的web應(yīng)用axis;訪問(wèn)http://:8080/axis/測(cè)試是否訪問(wèn)正常4、 編寫deploy.wsdd文件,參照下面:〈deploymentxmlns="/axis/wsdd/"xmlns:java="/axis/wsdd/providers/java"><servicename二"MyService"provider二"java:RPC"><parametername二"className"value二"samples.userguide.example3.MyService"/><parametername二"allow
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人裝修工程石材安裝合同
- 個(gè)人專屬高效勞務(wù)協(xié)議(2024優(yōu)化版)
- 2025版無(wú)人機(jī)植保作業(yè)質(zhì)量控制合同樣本3篇
- 教育信息化與學(xué)生成長(zhǎng)檔案的建設(shè)研究
- 二零二五年度誠(chéng)意金支付及旅游產(chǎn)品預(yù)購(gòu)協(xié)議4篇
- 二零二五年度綠色食品生產(chǎn)設(shè)備按揭購(gòu)買協(xié)議2篇
- 提升學(xué)生網(wǎng)路素養(yǎng)助力其終身學(xué)習(xí)與發(fā)展
- 2025版無(wú)子女離婚協(xié)議書(shū):離婚后子女權(quán)益保障與家庭責(zé)任協(xié)議12篇
- 二零二五年度車庫(kù)門故障診斷與快速修復(fù)服務(wù)協(xié)議3篇
- 二零二五年度潔具綠色生產(chǎn)認(rèn)證合同范本共20套3篇
- 2025年山東省濟(jì)南市第一中學(xué)高三下學(xué)期期末統(tǒng)一考試物理試題含解析
- 中學(xué)安全辦2024-2025學(xué)年工作計(jì)劃
- 網(wǎng)絡(luò)安全保障服務(wù)方案(網(wǎng)絡(luò)安全運(yùn)維、重保服務(wù))
- 2024年鄉(xiāng)村振興(產(chǎn)業(yè)、文化、生態(tài))等實(shí)施戰(zhàn)略知識(shí)考試題庫(kù)與答案
- 現(xiàn)代科學(xué)技術(shù)概論智慧樹(shù)知到期末考試答案章節(jié)答案2024年成都師范學(xué)院
- 軟件模塊化設(shè)計(jì)與開(kāi)發(fā)標(biāo)準(zhǔn)與規(guī)范
- 2024年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 無(wú)痛人工流產(chǎn)術(shù)課件
- 有機(jī)農(nóng)業(yè)種植模式
- 勞務(wù)派遣招標(biāo)文件
- 法醫(yī)病理學(xué)課件
評(píng)論
0/150
提交評(píng)論