


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精編word文檔 下載可編輯webservice開發(fā)總結webservice開發(fā)總結一、環(huán)境說明服務器tomcat0.28jdk5apachesoaaxis4eclipse3二、axis安裝1將axis4/webapps/axis解壓到tomcat/webapps目錄下2將jdk中tools.jar包拷貝到axis/web-inf/lib目錄下3然后啟動tomcat4輸入:8080/axis回車出現(xiàn)如下畫面,證明成功打開validataion然后,頁面上的信息會告訴你已經有的包和還要差的包,然后根據提示將必須的包下載全。復制到%tomcathome%/webapps/axis/web-inf/
2、lib/目錄下。三、創(chuàng)建webservice工程在eclipse下創(chuàng)建一個普通的web工程將剛才發(fā)布成功的axis工程替換新創(chuàng)建的工程編寫服務端代碼,如下packagecom;publicclasshelloservicepublicstringgetname(stringname)returnhello-+name;四、編寫deplo.wsdd發(fā)布服務classname表示類名allowedmethods表示要發(fā)布的方法,*表示所有方法然后編寫deploy.bat腳本發(fā)布服務然后執(zhí)行腳本deploy.wsdd和deploy.bat兩個文件都放在工程目錄下的/web-inf/目錄下執(zhí)行bat之
3、后會生成一個server-config.wsdd文件需要注意的是,此bat文件需要在tomcat/webapps/axis/web-inf/目錄下執(zhí)行才會成功。也就是說必須在服務器下執(zhí)行才會生成server-config.wsdd文件。然后重啟tomcat輸入:8080/axis/services便可以看到部署的服務了五、編寫動態(tài)客戶端調用程序importorg.apache.axis.client.call;importorg.apache.axis.client.service;trystringendpoint=:8080/axis/services/helloservice;servi
4、ceservice=newservice();callcall=null;call=(call)service.createcall();call.setoperationname(getname);call.settargetendpointaddress(.url(endpoint);stringstr=(string)call.invoke(newobject);system.out.println(str);ex.printstacktrace();catch(exceptionex)六、stub客戶端調用stub調用方式,是用服務生成的wsdl文件,通過axis
5、的wsdl2java工具生成客戶端代碼來調用服務的。以下是wsdl2java腳本,可生成客戶端代碼。axis_libaxis環(huán)境output_path生成的客戶端代碼的輸出路徑package對輸出的代碼打包:8080/axis/services/helloservicewsdl是wsdl文件的位置,如果你已經有了wsdl文件,可以直接指定為wsdl文件wsdl文件的可以從服務中獲得,如下圖單擊wsdl,便會生成wsdl文件七、jws客戶端調用此客戶端調用方式只適用java程序。先將寫好的服務端java類復制到webroot目錄下然后將java文件改為.jws例如xxx.java文件xxx.jw
6、s客戶端調用如下注意此調用方式不要將類打包,直接放在根目錄下即可。(打包的問題還沒有研究出來)系統(tǒng)會在web-inf目錄下生成一個jwsclasses文件夾,jws生成的class文件會產生在此目錄下。擴展閱讀webservice學習,開發(fā)總結-唐木之無線觀察webservice學習,開發(fā)總結-唐木之無線觀察發(fā)布時間:201*-7-16閱讀:123原文地址:基本概念1,什么是web服務?web是使應用程序可以以與平臺和編程語言無關的方式進行相互通信的一項技術。web服務是一個軟件接口,它描述了一組可以在網絡上通過標準化的xml消息傳遞訪問的操作。它使用基于xml語言的協(xié)議來描述要執(zhí)行的操作或者
7、要與另一個web服務交換的數據。一組以這種方式交互的web服務在面向服務的體系結構(service-orientedarchitecture,soa)中定義了特殊的web服務應用程序。2,什么是soap?soap(simpleobjectaccessprotocol)簡單對象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠程過程調用的輕量級協(xié)議,是一個基于xml的協(xié)議。使用soap,不用考慮任何特定的傳輸協(xié)議(最常用的還是http協(xié)議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一種語言相互通信。soap包括四個部分soap封裝(envelop),封裝定義了一個描述消息中的內容是什么,
8、是誰發(fā)送的,誰應當接受并處理它以及如何處理它們的框架;soap編碼規(guī)則(encodingrules),用于表示應用程序需要使用的數據類型的實例;soaprpc表示(rpcrepresentation),表示遠程過程調用和應答的協(xié)定;soap綁定(binding),使用底層協(xié)議交換信息。應用中比較關注的是envelop,由一個或多個header和一個body組成。soap在可互操作的基礎web服務協(xié)議棧中的位置3,什么是axisaxis本質上就是一個soap引擎(apacheaxisisanimplementationofthesoap),提供創(chuàng)建服務器端、客戶端和網關soap操作的基本框架。但
9、axis并不完全是一個soap引擎,它還包括是一個獨立的soap服務器。是一個嵌入servlet引擎(例如tomcat)的服務器。支持wsdl。提供轉化wsdl為java類的工具。提供例子程序。提供tcp/ip數據包監(jiān)視工具。4,axis相比soapv2的優(yōu)點axis是第三代apachesoap的實現(xiàn),從201*年起,soapv2開發(fā)小組開始討論如何讓axis更加靈活、可配置,以及能夠處理soap和來自w3c的各種xml標準。通過不斷地討論和代碼編寫,axis目前相比soapv2取得了如下成果速度提高。axis通過基于事件的sax對xml文檔進行處理,從而在速度和效率上比apachesoap有
10、所提高。靈活性提高。穩(wěn)定性提高。提供面向組件的部署。提供一個簡潔的傳輸抽象框架。其核心引擎完全于傳輸方式獨立。從而使基于何種協(xié)議傳輸的選擇更加靈活。支持wsdl。包括wsdl和客戶端代碼生成等。5,什么是wsdl?wsdl(webservicedescriptionlanguage)web服務器描述語言是用xml文檔來描述web服務的標準,是web服務的接口定義語言,由ariba、intel、ibm、ms等共同提出,通過wsdl,可描述web服務的三個基本屬性服務做些什么服務所提供的操作(方法)如何訪問服務和服務交互的數據格式以及必要協(xié)議服務位于何處協(xié)議相關的地址,如urlwsdl文檔以端口集
11、合的形式來描述web服務,wsdl服務描述包含對一組操作和消息的一個抽象定義,綁定到這些操作和消息的一個具體協(xié)議,和這個綁定的一個網絡端點規(guī)范。wsdl在web服務概念性協(xié)議棧中的位置6,什么是wsdd?wsdd就是web服務分布描述(webservicedeploymentdescriptor),它定義了web服務的接口,如服務名、提供的方法、方法的參數等信息。7,什么是uddi?uddi就是統(tǒng)一描述、發(fā)現(xiàn)和集成(universaldescription,discovery,andintegration)。uddi用于集中存放和查找wsdl描述文件,起著目錄服務器的作用。web服務中的角色、
12、操作和構件服務提供者。從企業(yè)的角度看,這是服務的所有者。從體系結構的角度看,這是托管訪問服務的平臺。服務請求者。從企業(yè)的角度看,這是要求滿足特定功能的企業(yè)。從體系結構的角度看,這是尋找并調用服務,或啟動與服務的交互的應用程序。服務請求者角色可以由瀏覽器來擔當,由人或無用戶界面的程序(例如,另外一個web服務)來控制它。服務注冊中心。這是可搜索的服務描述注冊中心,服務提供者在此發(fā)布他們的服務描述。在靜態(tài)綁定開發(fā)或動態(tài)綁定執(zhí)行期間,服務請求者查找服務并獲得服務的綁定信息(在服務描述中)。對于靜態(tài)綁定的服務請求者,服務注冊中心是體系結構中的可選角色,因為服務提供者可以把描述直接發(fā)送給服務請求者。同樣
13、,服務請求者可以從服務注冊中心以外的其它來源得到服務描述,例如本地文件、ftp站點、web站點、廣告和服務發(fā)現(xiàn)(advertisementanddiscoveryofservices,ads)或發(fā)現(xiàn)web服務(discoveryofwebservices,disco)。8,axis的幾種服務類型axis有四種servicestyles,分別是rpc,document,wrapped,和message。最常用的就是rpc和message。rpc在axis中是一個默認選項。當你部署的時候使用下列兩種方式或則,它遵循soaprpc和編碼規(guī)則。每個rpc都包括一個表示名稱的外部接點和一些表示參數的內部
14、接點。axis會根據規(guī)則將一個xml(wsdl文件)文件轉化成一個java對象,并對對想賦上在文件中描述的值。也可以根據規(guī)則將一個java對象轉化成xml文件。document適合于老的xmlschema。wrapped和document一樣,適合于老的xmlschema。在大多書情況下,你不許要擔心是document服務還是wrapped服務。message以這種方式部署的話,會使axis失去意義,它使你的代碼真正的用xml形式,而不需要轉化成java對象。以這種方式部署的有以下四種服務方法publicelementmethod(elementbodies);publicsoapbodyel
15、ementmethod(soapbodyelementbodies);publicdocumentmethod(documentbody);publicvoidmethod(soapenvelopereq,soapenveloperesp);幾種服務類型的主要區(qū)別基于rpc(遠程過程調用)方式,這也是web服務最常用的方式。面向消息/文檔的的類型跟rpc不同的是它提供了一個更底層的抽象,要求更多的編程工作??蛻舳丝梢詡魅肴魏蔚膞ml文檔,得到的響應不一定是soapenvelope,可以返回任何它所需要的東西,甚至不返回。雖然這對開發(fā)者來說非常的靈活,但是這種通訊類型在實際的應用中并不常見。面向
16、消息/文檔的web服務主要適合于下面幾種情況,比如批量處理,基于表單的數據導入,有需要返回非xml數據時,web服務器實現(xiàn)中要求直接訪問傳輸層等等二,開發(fā),部署web服務首先下載并安裝tomcatx.及以上版本然后到axis主頁下載,現(xiàn)在最新版本是3final,我們使用的是1final版,將解壓的axis中的webapps目錄下的axis拷貝到tomcat安裝路徑下的webapp下,將解壓的axis下lib下的jar文件拷貝到tomcat安裝目錄下commonlib下,并把他們加入到你的系統(tǒng)路徑中。然后啟動tomcat,打開ie,輸入:8080/axis,如果出現(xiàn)axis主頁,說明安裝axis
17、成功。部署web服務在axis下部署web服務有以下兩種方式1即時部署(instancedeployment)利用jws文件只需要將.java文件拷貝到axis目錄下,并將文件后綴改為.jws即可。訪問部署后的wsdl文件只需鍵入:8080/axis/filename.jwswsdl以下是wsdl的一個例子/描述消息中復雜數據類型的使用/定義復雜類型./定義操作的輸出參數/定義操作的輸入參數./wsdl:porttype元素中定義了web服務的操作。/操作定義了輸入和輸出數據流中可以出現(xiàn)的xml消息./描述特定服務接口(wsdl:porttype)的協(xié)議、數據格式、安全性和其它屬性/定義服務名
18、字,訪問點,位置2定制部署(customdeployment)利用部署描述符wsdd以下是部署描述符的一個例子/服務名字,服務類型及服務提供者/實現(xiàn)該服務的具體類serializer=org.apache.axis.encoding.ser.beanserializerfactoryhttp:/指定序列化工廠deserializer=org.apache.axis.encoding.ser.beandeserializerfactoryhttp:/反序列化工廠name=gamegraderank/訪問部署后的wsdl文件只需鍵入:8080/axis/services/gamegradeserv
19、ice三,在ide下開發(fā)web服務1,在jubilder下開發(fā)webservice使用jbuilder集成開發(fā)環(huán)境,能夠根據服務接口類生成web服務描述文件,web服務部署描述文件及客戶端代碼,這樣能夠節(jié)省我們大部分時間(開發(fā),配置),且減少出錯機率。jbuilder在以前的版本,如jbuilder8(可能更低版本)就支持axis,我用的是jbuilder201*,不過大體步驟都是相同。在開始前,我們有個服務接口gamegradeservice類,服務接口實現(xiàn)類serviceimpl類及相關附屬類。我們要實現(xiàn)該服務接口。1,打開jbuilder,新建一個工程,如testwebservice2,
20、新建一個名為webservice的webserviceserver(filenew:webservices:axiswebservicesserverconfiguration)3,在出現(xiàn)的webservicesdesigners可視化界面,點擊“createservice”,選擇“javaservice”4,配置新創(chuàng)建的javaservice,點擊javaservice1,配置servicename為gamegradeservice,服務接口為我們有的那個服務接口gamegradeservice,實現(xiàn)類為我們實現(xiàn)改接口的類serviceimpl。5,然后編譯該工程,能夠生成web服務部署文件
21、,web服務描述文件,如果你選擇了生成客戶端代碼的話,它也能生成相應的客戶端代碼。6,啟動該服務,訪問:8080/webservice/services/gamegradeservicewsdl,如果出現(xiàn)該服務的描述文檔,說明發(fā)布成功。7,執(zhí)行自動生成的客戶端代碼進行測試,發(fā)現(xiàn)測試成功。8,你可以用webservice的webservicesclient來根據wsdl只生成客戶端代碼。a,新建一個名為webserviceclient的webserviceclient(filenew:webservices:axiswebservicesclientconfiguration)b,在出現(xiàn)的web
22、servicesdesigners可視化界面,點擊“createservice”,選擇“importfromurl”c,配置新創(chuàng)建的javaservice,點擊javaservice1,配置servicename為gamegradeservice,inputwsdlfile為給定的wsdl。d,然后編譯該工程2,在eclipse下開發(fā)webserviceeclipse1及相關插件已經能夠很好的支持webservice開發(fā)。右鍵點擊wsdl文件,選擇webservices,有以下功能發(fā)布wsdl文件,生成客戶端代碼等。右鍵點擊服務接口文件,選擇webservices,有以下功能生成webserv
23、ice等。同時eclipse提供了友好的界面操作,如測試的時候,提供界面讓你輸入參數,而不必該改程序。四,開發(fā)過程中的問題在使用axis開發(fā)web服務的時候,會遇到很多問題。比如xml解析器出現(xiàn)的異常、客戶端程序找不到可用的web服務、序列化/反序列化等。xml解析器出現(xiàn)的異常主要是由于類型映射的問題導致的,用到那個bean就把那個bean映射進去就可以避免該問題??蛻舳顺绦蛘也坏娇捎玫膚eb服務主要是由于客戶端對服務提供者的url及服務名字輸入有錯,這一般是由于手寫客戶端代碼造成的。序列化/反序列化問題,沒有對傳輸中的某個bean類型映射相應的序列化/反序列化工廠,或者是復雜類型中,沒有實現(xiàn)
24、自定義的序列化/反序列化工廠。以上是開發(fā)過程中主要遇到的幾類問題,在以后的開發(fā)過程中,一定還會需要遇到更多的問題。五,其他相關知識1,java類與wsdl相互生成工具axis提供了”wsdl2java”工具,可以利用wsdl描述來產生服務的java代理和框架(proxyandskeletons)。axis提供了”java2wsdl”工具,可以由java類生成wsdl文件。2,序列化與反序列化序列化/反序列化器在英文中的對應翻譯是serializer/deserializer,一個序列化器的功能是遵循一定的映射規(guī)則和編碼風格,將一種類型的java對象通過某種特定的機制,轉換成為xml描述的形式;
25、反序列化器的功能是序列化器所做工作的逆操作,兩者相輔相成,成對出現(xiàn)。axis中的序列化/反序列化器采用設計范式中的工廠模式,每一個serializer唯一對應一個serializerfactory;每一個deserializer唯一對應一個deserializerfactory。axis已經為開發(fā)者提供了豐富的序列化/反序列化器,對于java的基本數據類型,絕大部分常用的容器類(比如數組類型,vector類型等)都提供了實現(xiàn),特別是提供了對w3c的dom對象(比如document,element等)和符合bean規(guī)范的java對象提供了功能完善的序列化/反序列化器,但對于一些特殊類型的對象,需
26、要通過web服務進行傳遞,我們不得不開發(fā)自己的序列化/反序列化器。3,axis與spring的結合axis與spring結合,需要提供一些額外工作,即將實現(xiàn)web服務接口的bean與web服務部署中服務類如何關聯(lián)。如下.參數handlerclass的值是處理bean與wsdd文件中服務類的關聯(lián)。參數springbean的值表示實現(xiàn)接口gameservice注冊的bean的名字。參數springbeanclass的值表示接口gameservice的類。發(fā)布時間:201*-7-16閱讀:123原文地址:基本概念1,什么是web服務?web是使應用程序可以以與平臺和編程語言無關的方式進行相互通信的一
27、項技術。web服務是一個軟件接口,它描述了一組可以在網絡上通過標準化的xml消息傳遞訪問的操作。它使用基于xml語言的協(xié)議來描述要執(zhí)行的操作或者要與另一個web服務交換的數據。一組以這種方式交互的web服務在面向服務的體系結構(service-orientedarchitecture,soa)中定義了特殊的web服務應用程序。2,什么是soap?soap(simpleobjectaccessprotocol)簡單對象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠程過程調用的輕量級協(xié)議,是一個基于xml的協(xié)議。使用soap,不用考慮任何特定的傳輸協(xié)議(最常用的還是http協(xié)議),可以允許任何類
28、型的對象或代碼,在任何平臺上,以任何一種語言相互通信。soap包括四個部分soap封裝(envelop),封裝定義了一個描述消息中的內容是什么,是誰發(fā)送的,誰應當接受并處理它以及如何處理它們的框架;soap編碼規(guī)則(encodingrules),用于表示應用程序需要使用的數據類型的實例;soaprpc表示(rpcrepresentation),表示遠程過程調用和應答的協(xié)定;soap綁定(binding),使用底層協(xié)議交換信息。應用中比較關注的是envelop,由一個或多個header和一個body組成。soap在可互操作的基礎web服務協(xié)議棧中的位置3,什么是axisaxis本質上就是一個so
29、ap引擎(apacheaxisisanimplementationofthesoap),提供創(chuàng)建服務器端、客戶端和網關soap操作的基本框架。但axis并不完全是一個soap引擎,它還包括是一個獨立的soap服務器。是一個嵌入servlet引擎(例如tomcat)的服務器。支持wsdl。提供轉化wsdl為java類的工具。提供例子程序。提供tcp/ip數據包監(jiān)視工具。4,axis相比soapv2的優(yōu)點axis是第三代apachesoap的實現(xiàn),從201*年起,soapv2開發(fā)小組開始討論如何讓axis更加靈活、可配置,以及能夠處理soap和來自w3c的各種xml標準。通過不斷地討論和代碼編寫,
30、axis目前相比soapv2取得了如下成果速度提高。axis通過基于事件的sax對xml文檔進行處理,從而在速度和效率上比apachesoap有所提高。靈活性提高。穩(wěn)定性提高。提供面向組件的部署。提供一個簡潔的傳輸抽象框架。其核心引擎完全于傳輸方式獨立。從而使基于何種協(xié)議傳輸的選擇更加靈活。支持wsdl。包括wsdl和客戶端代碼生成等。5,什么是wsdl?wsdl(webservicedescriptionlanguage)web服務器描述語言是用xml文檔來描述web服務的標準,是web服務的接口定義語言,由ariba、intel、ibm、ms等共同提出,通過wsdl,可描述web服務的三個
31、基本屬性服務做些什么服務所提供的操作(方法)如何訪問服務和服務交互的數據格式以及必要協(xié)議服務位于何處協(xié)議相關的地址,如urlwsdl文檔以端口集合的形式來描述web服務,wsdl服務描述包含對一組操作和消息的一個抽象定義,綁定到這些操作和消息的一個具體協(xié)議,和這個綁定的一個網絡端點規(guī)范。wsdl在web服務概念性協(xié)議棧中的位置6,什么是wsdd?wsdd就是web服務分布描述(webservicedeploymentdescriptor),它定義了web服務的接口,如服務名、提供的方法、方法的參數等信息。7,什么是uddi?uddi就是統(tǒng)一描述、發(fā)現(xiàn)和集成(universaldescripti
32、on,discovery,andintegration)。uddi用于集中存放和查找wsdl描述文件,起著目錄服務器的作用。web服務中的角色、操作和構件服務提供者。從企業(yè)的角度看,這是服務的所有者。從體系結構的角度看,這是托管訪問服務的平臺。服務請求者。從企業(yè)的角度看,這是要求滿足特定功能的企業(yè)。從體系結構的角度看,這是尋找并調用服務,或啟動與服務的交互的應用程序。服務請求者角色可以由瀏覽器來擔當,由人或無用戶界面的程序(例如,另外一個web服務)來控制它。服務注冊中心。這是可搜索的服務描述注冊中心,服務提供者在此發(fā)布他們的服務描述。在靜態(tài)綁定開發(fā)或動態(tài)綁定執(zhí)行期間,服務請求者查找服務并獲得
33、服務的綁定信息(在服務描述中)。對于靜態(tài)綁定的服務請求者,服務注冊中心是體系結構中的可選角色,因為服務提供者可以把描述直接發(fā)送給服務請求者。同樣,服務請求者可以從服務注冊中心以外的其它來源得到服務描述,例如本地文件、ftp站點、web站點、廣告和服務發(fā)現(xiàn)(advertisementanddiscoveryofservices,ads)或發(fā)現(xiàn)web服務(discoveryofwebservices,disco)。8,axis的幾種服務類型axis有四種servicestyles,分別是rpc,document,wrapped,和message。最常用的就是rpc和message。rpc在axis
34、中是一個默認選項。當你部署的時候使用下列兩種方式或則,它遵循soaprpc和編碼規(guī)則。每個rpc都包括一個表示名稱的外部接點和一些表示參數的內部接點。axis會根據規(guī)則將一個xml(wsdl文件)文件轉化成一個java對象,并對對想賦上在文件中描述的值。也可以根據規(guī)則將一個java對象轉化成xml文件。document適合于老的xmlschema。wrapped和document一樣,適合于老的xmlschema。在大多書情況下,你不許要擔心是document服務還是wrapped服務。message以這種方式部署的話,會使axis失去意義,它使你的代碼真正的用xml形式,而不需要轉化成jav
35、a對象。以這種方式部署的有以下四種服務方法publicelementmethod(elementbodies);publicsoapbodyelementmethod(soapbodyelementbodies);publicdocumentmethod(documentbody);publicvoidmethod(soapenvelopereq,soapenveloperesp);幾種服務類型的主要區(qū)別基于rpc(遠程過程調用)方式,這也是web服務最常用的方式。面向消息/文檔的的類型跟rpc不同的是它提供了一個更底層的抽象,要求更多的編程工作??蛻舳丝梢詡魅肴魏蔚膞ml文檔,得到的響應不一
36、定是soapenvelope,可以返回任何它所需要的東西,甚至不返回。雖然這對開發(fā)者來說非常的靈活,但是這種通訊類型在實際的應用中并不常見。面向消息/文檔的web服務主要適合于下面幾種情況,比如批量處理,基于表單的數據導入,有需要返回非xml數據時,web服務器實現(xiàn)中要求直接訪問傳輸層等等二,開發(fā),部署web服務首先下載并安裝tomcatx.及以上版本然后到axis主頁下載,現(xiàn)在最新版本是3final,我們使用的是1final版,將解壓的axis中的webapps目錄下的axis拷貝到tomcat安裝路徑下的webapp下,將解壓的axis下lib下的jar文件拷貝到tomcat安裝目錄下co
37、mmonlib下,并把他們加入到你的系統(tǒng)路徑中。然后啟動tomcat,打開ie,輸入:8080/axis,如果出現(xiàn)axis主頁,說明安裝axis成功。部署web服務在axis下部署web服務有以下兩種方式1即時部署(instancedeployment)利用jws文件只需要將.java文件拷貝到axis目錄下,并將文件后綴改為.jws即可。訪問部署后的wsdl文件只需鍵入:8080/axis/filename.jwswsdl以下是wsdl的一個例子/描述消息中復雜數據類型的使用/定義復雜類型./定義操作的輸出參數/定義操作的輸入參數./wsdl:porttype元素中定義了web服務的操作。/
38、操作定義了輸入和輸出數據流中可以出現(xiàn)的xml消息./描述特定服務接口(wsdl:porttype)的協(xié)議、數據格式、安全性和其它屬性/定義服務名字,訪問點,位置2定制部署(customdeployment)利用部署描述符wsdd以下是部署描述符的一個例子/服務名字,服務類型及服務提供者/實現(xiàn)該服務的具體類訪問部署后的wsdl文件只需鍵入:8080/axis/services/gamegradeservice三,在ide下開發(fā)web服務1,在jubilder下開發(fā)webservice使用jbuilder集成開發(fā)環(huán)境,能夠根據服務接口類生成web服務描述文件,web服務部署描述文件及客戶端代碼,這
39、樣能夠節(jié)省我們大部分時間(開發(fā),配置),且減少出錯機率。jbuilder在以前的版本,如jbuilder8(可能更低版本)就支持axis,我用的是jbuilder201*,不過大體步驟都是相同。在開始前,我們有個服務接口gamegradeservice類,服務接口實現(xiàn)類serviceimpl類及相關附屬類。我們要實現(xiàn)該服務接口。1,打開jbuilder,新建一個工程,如testwebservice2,新建一個名為webservice的webserviceserver(filenew:webservices:axiswebservicesserverconfiguration)3,在出現(xiàn)的web
40、servicesdesigners可視化界面,點擊“createservice”,選擇“javaservice”4,配置新創(chuàng)建的javaservice,點擊javaservice1,配置servicename為gamegradeservice,服務接口為我們有的那個服務接口gamegradeservice,實現(xiàn)類為我們實現(xiàn)改接口的類serviceimpl。5,然后編譯該工程,能夠生成web服務部署文件,web服務描述文件,如果你選擇了生成客戶端代碼的話,它也能生成相應的客戶端代碼。6,啟動該服務,訪問:8080/webservice/services/gamegradeservicewsdl,
41、如果出現(xiàn)該服務的描述文檔,說明發(fā)布成功。7,執(zhí)行自動生成的客戶端代碼進行測試,發(fā)現(xiàn)測試成功。8,你可以用webservice的webservicesclient來根據wsdl只生成客戶端代碼。a,新建一個名為webserviceclient的webserviceclient(filenew:webservices:axiswebservicesclientconfiguration)b,在出現(xiàn)的webservicesdesigners可視化界面,點擊“createservice”,選擇“importfromurl”c,配置新創(chuàng)建的javaservice,點擊javaservice1,配置servicename為gamegradeservice,in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024福建福州榕發(fā)(福州)置業(yè)有限公司招聘筆試參考題庫附帶答案詳解
- 全面監(jiān)督報告范文
- 取水工程專項報告范文
- 青少年勵志公益報告范文
- 青海省扶貧調研報告范文
- 2025年度洗車服務與廣告合作承包合同
- 二零二五年度果樹種植土地托管承包與農村旅游發(fā)展合作協(xié)議
- 二零二五年度物流企業(yè)司機安全責任執(zhí)行協(xié)議
- 2025年度蔬菜育苗與農業(yè)產業(yè)扶貧合作合同
- 二零二五年度交通事故財產損失賠償協(xié)議
- 2024年江蘇農牧科技職業(yè)學院單招職業(yè)適應性測試題庫含答案
- 崔允漷教授的課堂觀察框架:4個要素20個視角68個觀察點
- 大班益智區(qū)目標及指導策略
- 小學二年級語文下冊《古詩二首》課件
- MOOC 信號與系統(tǒng)-北京交通大學 中國大學慕課答案
- 《研學旅行課程設計》課件-研學課程主題設計
- 《旅游概論》課件-旅游業(yè)的發(fā)展趨勢
- 2023年鐵路工務安全規(guī)則正文
- 大單元視角下小學語文單篇課文的教學
- 高低壓成套產品標準及檢測要求
- 語文-山東省泰安市2024屆高三下學期一模檢測試題和答案
評論
0/150
提交評論