国产精品色无码视频,国产av毛片影院精品资源,亚洲人成网站77777·c0m,囯产av无码片毛片一级,夜夜操www99视频,美女白嫩胸交在线观看,亚洲a毛片性生活

薈聚奇文、博采眾長(zhǎng)、見(jiàn)賢思齊
當(dāng)前位置:公文素材庫(kù) > 計(jì)劃總結(jié) > 工作總結(jié) > webService基礎(chǔ)總結(jié)

webService基礎(chǔ)總結(jié)

網(wǎng)站:公文素材庫(kù) | 時(shí)間:2019-05-29 07:18:03 | 移動(dòng)端:webService基礎(chǔ)總結(jié)

webService基礎(chǔ)總結(jié)

WebService是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)

所謂跨編程語(yǔ)言和跨操作平臺(tái),就是說(shuō)服務(wù)端程序采用java編寫(xiě),客戶端程

序則可以采用其他編程語(yǔ)言編寫(xiě),反之亦然!跨操作系統(tǒng)平臺(tái)則是指服務(wù)端程序和客戶端程序可以在不同的操作系統(tǒng)上運(yùn)行。除了WebService外,常見(jiàn)的遠(yuǎn)程調(diào)用技術(shù)還有RMI(Remotemethodinvoke)

和CORBA,由于WebService的跨平臺(tái)和跨編程語(yǔ)言特點(diǎn),因此比其他兩種技術(shù)應(yīng)用更為廣泛,但性能略低。

WebService使用SOAP協(xié)議實(shí)現(xiàn)跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)

WebService采用HTTP協(xié)議傳輸數(shù)據(jù),采用XML格式封裝數(shù)據(jù)(即XML中

說(shuō)明調(diào)用遠(yuǎn)程服務(wù)對(duì)象的哪個(gè)方法,傳遞的參數(shù)是什么,以及服務(wù)對(duì)象的返回結(jié)果是什么)。WebService通過(guò)HTTP協(xié)議發(fā)送請(qǐng)求和接收結(jié)果時(shí),發(fā)送的請(qǐng)求內(nèi)容和結(jié)果內(nèi)容都采用XML格式封裝,并增加了一些特定的HTTP消息頭,以說(shuō)明HTTP消息的內(nèi)容格式,這些特定的HTTP消息頭和XML內(nèi)容格式就是SOAP協(xié)議(simpleobjectaccessprotocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)。SOAP協(xié)議=HTTP協(xié)議+XML數(shù)據(jù)格式

HTTP協(xié)議和XML是被廣泛使用的通用技術(shù),各種編程語(yǔ)言對(duì)HTTP協(xié)議和

XML這兩種技術(shù)都提供了很好的支持,WebService客戶端與服務(wù)器端使用什么編程語(yǔ)言都可以完成SOAP的功能,所以,WebService很容易實(shí)現(xiàn)跨編程語(yǔ)言,跨編程語(yǔ)言自然也就跨了操作系統(tǒng)

WebService客戶端要調(diào)用一個(gè)WebService服務(wù),首先要有知道這個(gè)服務(wù)的

地址在哪,以及這個(gè)服務(wù)里有什么方法可以調(diào)用,所以,WebService務(wù)器端首先要通過(guò)一個(gè)WSDL文件來(lái)說(shuō)明自己家里有啥服務(wù)可以對(duì)外調(diào)用,服務(wù)是什么(服務(wù)中有哪些方法,方法接受的參數(shù)是什么,返回值是什么),服務(wù)的網(wǎng)絡(luò)地址用哪個(gè)url地址表示,服務(wù)通過(guò)什么方式來(lái)調(diào)用。WSDL(webservicedescriptionlanguage)是基于XML格式的,它是WebService

客戶端和服務(wù)器端都能理解的標(biāo)準(zhǔn)格式,其中描述的信息可以分為what,where,how等部分!

WSDL文件保存在Web服務(wù)器上,通過(guò)一個(gè)url地址就可以訪問(wèn)到它。客戶

端要調(diào)用一個(gè)WebService服務(wù)之前,要知道該服務(wù)的WSDL文件的地址。WebService服務(wù)提供商可以通過(guò)兩種方式來(lái)暴露它的WSDL文件地址:

注冊(cè)到UDDI服務(wù)器,以便被人查找直接告訴給客戶端調(diào)用者,例如,在自己網(wǎng)站給出信息或郵件告訴。

擴(kuò)展閱讀:webservice基礎(chǔ)知識(shí)與學(xué)習(xí)心得

Webservice基礎(chǔ)知識(shí)

常見(jiàn)術(shù)語(yǔ)WSDL

WSDL即"WebServicesDescriptionLanguage"簡(jiǎn)稱,是一種平臺(tái)中立,語(yǔ)言中立并且能夠在Internet上自由傳輸?shù)牟捎肵ML描述的語(yǔ)言。

Operation

Operation即定義在WSDL中的方法,它包含輸入消息(inputmessage)和輸出消息(outputmessage),而消息是由一個(gè)或多個(gè)塊(part)組成。塊Part要么是自己定義在其他schema中的消息參數(shù),要么是來(lái)自

Porttype

Porttype也是WSDL中的節(jié)點(diǎn)之一,它可以形象的理解為一個(gè)Javaclass,此時(shí)Operation就是Javaclass中的方法

Binding

因消息在Internet中傳輸?shù)母袷胶蛥f(xié)議不同,Binding是對(duì)特殊消息格式和協(xié)議的一個(gè)封裝,Binding也是WSDL中的節(jié)點(diǎn)之一。

Port

Port說(shuō)明WebService部署在哪個(gè)端口,Port也是WSDL中的節(jié)點(diǎn)之一。

Targetnamespace

Targetnamespace可以形象理解為Javapackage,它沒(méi)有任何意義,唯一的用途是來(lái)唯一標(biāo)示W(wǎng)ebService,使之全局唯一Endpoint

Endpoint是WebService的詳細(xì)訪問(wèn)地址(比如::30000/meoms/services/EOMSBulletinUpService),它是可以訪問(wèn)的,而Targetnamespace雖然采用URL的形式命名,但是不可以訪問(wèn)的,一般訪問(wèn)會(huì)出錯(cuò)。

ApacheCXF,ApacheAxis2andMetrofromSunMicrosystems

ApacheCXF,ApacheAxis2andMetrofromSunMicrosystems只不過(guò)是針對(duì)Java的一些WebService處理工具,作用是在客戶端傳遞消息過(guò)來(lái)時(shí),把它轉(zhuǎn)化為服務(wù)端Java類并請(qǐng)調(diào)用服務(wù)端提供的服務(wù)。

WSDL的兩種形式RPCstyle

RPC即"RemoteProcedureCall",特點(diǎn)是WSDL中輸入消息(inputmessage)和輸出消息(outputmessage)定義中采用完整的參數(shù)定義,參數(shù)定義不放在其他地方。

Documentstyle

Documentstyle特點(diǎn)是WSDL中輸入消息(inputmessage)和輸出消息(outputmessage)定義可以放在其他Schema定義中,現(xiàn)在通常采用這種方式。

Webservice開(kāi)發(fā)

前提:

已經(jīng)取得WSDL,WSDL可以自己開(kāi)發(fā),現(xiàn)在Eclipse有專門插件支持,可以直接拖動(dòng)節(jié)點(diǎn)來(lái)開(kāi)發(fā)即可,如果是客戶端,一般對(duì)方會(huì)提供他們的WSDL,但如果自己是服務(wù)端,要么是自己定義WSDL,要么是第三方提供。

以下例子都是采用AXIS開(kāi)發(fā)。AXIS安裝和配置安裝

在下載axis-bin-1_2_1.zip,解壓后即安裝完成。注意:

下載的axis缺少jar包:activation.jar和mail.jar,請(qǐng)自己加上。

配置

增加環(huán)境變量

AXIS_HOME=C:\\Users\\Administrator\\Desktop\\axis-1_2_1修改CLASSPATH,增加

%AXIS_HOME%\\activation.jar;%AXIS_HOME%\\axis.jar;%AXIS_HOME%\\axis-ant.jar;%AXIS_HOME%\\commons-discovery-0.2.jar;%AXIS_HOME%\\commons-logging-1.0.4.jar;%AXIS_HOME%\\jaxrpc.jar;%AXIS_HOME%\\log4j-1.2.8.jar;%AXIS_HOME%\\mail.jar;%AXIS_HOME%\\saaj.jar;%AXIS_HOME%\\wsdl4j-1.5.1.jar;

AXIS中WSDL2Java命令參數(shù)說(shuō)明

輸入命令“avaorg.apache.axis.wsdl.WSDL2Javah”,參數(shù)說(shuō)明如下-h,--help

printthismessageandexit-v,--verbose

printinformationalmessages-n,--noImports

onlygeneratecodefortheimmediateWSDLdocument-O,--timeout

timeoutinseconds(defaultis45,specify-1todisable)-D,--Debug

printdebuginformation-W,--noWrapped

turnoffsupportfor"wrapped"document/literal-q,--quiet

donotprintanyinformationalordebugmessages(excepterrors)-s,--server-side

emitserver-sidebindingsforwebservice-S,--skeletonDeploy

deployskeleton(true)orimplementation(false)indeploy.wsdd.Defaultisfalse.Assumes--server-side.-N,--NStoPkg=

mappingofnamespacetopackage-f,--fileNStoPkg

fileofNStoPkgmappings(defaultNStoPkg.properties)-p,--package

overrideallnamespacetopackagemappings,usethispackagenameinstead-o,--output

outputdirectoryforemittedfiles-d,--deployScope

addscopetodeploy.wsdd:"Application","Request","Session"-t,--testCase

emitjunittestcaseclassforwebservice-a,--all

generatecodeforallelements,evenunreferencedones-T,--typeMappingVersion

indicate1.1or1.2.Thedefaultis1.1(SOAP1.1JAX-RPCcompliant.1.2indicatesSOAP1.1encoded.)-F,--factory

nameofacustomclassthatimplementsGeneratorFactoryinterface(forextendingJavagenerationfunctions)-H,--helperGen

emitsseparateHelperclassesformetadata-B,--buildFile

emitAntBuildfileforwebservice-U,--user

usernametoaccesstheWSDL-URI-P,--password

passwordtoaccesstheWSDL-URI-X,--classpath

additionalclasspathelements-i,--nsInclude

includenamespaceingeneratedcode-x,--nsExclude

excludenamespacefromgeneratedcode-c,--implementationClassName

customnameofwebserviceimplementation-u,--allowInvalidURL

emitfileevenifWSDLendpointURLisnotavalidURL-w,--wrapArrays

PrefersbuildingbeanstostraightarraysforwrappedXMLarraytypes(defaultstooff).AXIS將WSDL轉(zhuǎn)化為Java文件、客戶端調(diào)用和服務(wù)端實(shí)現(xiàn)命令和常用參數(shù)說(shuō)明

命令:

Javaorg.apache.axis.wsdl.WSDL2JavaWSDL存放位置參數(shù)說(shuō)明:

-o輸出文件存放起始目錄

-d部署服務(wù)訪問(wèn)范圍,可選值為"Application","Request","Session"

-s生成服務(wù)端,無(wú)此項(xiàng)的話一般默認(rèn)為客戶端,但也可以自己實(shí)現(xiàn)接口使之成為服務(wù)端

-S是否生成deployd.wsdd和undeployd.wsdd文件,值為true或false-p生成文件包名,如果不加,默認(rèn)以WSDL中namespace來(lái)命名包名

生成客戶端

命令:C:\\Users\\Administrator>javaorg.apache.axis.wsdl.WSDL2Java-peoms.npform.eomsdispatchnpform.zobservice.client.dispatchupservice

C:\\Users\\Administrator\\Desktop\\部省接口規(guī)范\\EOMSDispatchUpService.wsdl說(shuō)明:

-peoms.npform.eomsdispatchnpform.zobservice.client.dispatchupservice定義生成文件包名為eoms.npform.eomsdispatchnpform.zobservice.client.dispatchupservice生成文件如下:

客戶端調(diào)用服務(wù)

EOMSDispatchUpService_ServiceLocatorlocator=newEOMSDispatchUpService_ServiceLocator();EOMSDispatchUpServiceBindingStubbinding=locator.getEOMSDispatchUpService(“對(duì)方服務(wù)地址”);binding.reportAppForm(封裝參數(shù));

生成服務(wù)端

命令:C:\\Users\\Administrator>javaorg.apache.axis.wsdl.WSDL2Java-o.-dRequest-s-Strue-peoms.npform.eomsdispatchnpform.localservice.server.dispatchdownservice

C:\\Users\\Administrator\\Desktop\\部省接口規(guī)范\\EOMSDispatchDownService.wsdl說(shuō)明:

-o.默認(rèn)輸出在C:\\Users\\Administrator目錄下面-dRequest部署時(shí)訪問(wèn)范圍-s生成服務(wù)端-Strue生成deployd.wsdd和undeployd.wsdd文件

-peoms.npform.eomsdispatchnpform.localservice.server.dispatchdownservice定義生成文件包名為eoms.npform.eomsdispatchnpform.localservice.server.dispatchdownservice生成文件如下:

服務(wù)端代碼填充

一是自己實(shí)現(xiàn)EOMSDispatchDownServicePortType.java接口,但要修改部署文件service-config.wsdd文件中服務(wù)實(shí)現(xiàn)類;

二是直接填充EOMSDispatchDownServiceBindingStub.java,其實(shí)此類也只不是實(shí)現(xiàn)了EOMSDispatchDownServicePortType.java接口而已,只是不用修改部署文件。AXIS服務(wù)部署文件拷貝

拷貝解壓后的axis文件axis-1_2_1\\axis-1_2_1\\webapps下面axis文件到tomcat目錄Tomcat-5.5.25\\webapps下面;

將編譯后的class文件拷貝到Tomcat-5.5.25\\webapps\\axis\\WEB-INF\\classes目錄下面;將剛才服務(wù)端生成的deploy.wsdd拷貝到Tomcat-5.5.25\\webapps\\axis\\WEB-INF;

啟動(dòng)tomcat

瀏覽器中輸入:8888/axis,截圖如下:

點(diǎn)擊List,彈出界面如下:

生成service-config.wsdd

注意:tomcat一定要啟,axisjar包一定要配置好命令:javaorg.apache.axis.client.AdminClient-l

:8888/axis/services/EOMSDispatchDownServicedeploy.wsdd說(shuō)明:

-l:8888/axis/services/EOMSDispatchDownService因我的tomcat端口已經(jīng)被我修改為8888,但默認(rèn)部署在端口8080,所以這里必須加參數(shù)-L來(lái)制定部署的端口。圖示:

再次訪問(wèn)試一下:

服務(wù)發(fā)布成功,此時(shí)Tomcat-5.5.25\\webapps\\axis\\WEB-INF新增加文件server-config.wsdd

部署服務(wù)

1.只要拷貝server-config.wsdd中的

…….

到要部署服務(wù)的項(xiàng)目中的server-config.wsdd即可完成服務(wù)的部署。

2.其實(shí)可以自己寫(xiě)

…….

中的配置信息,如下:

也可以完成部署,此時(shí)都可以不管deploy.wsdd、undeploy.wsdd和service-congig.wsdd

友情提示:本文中關(guān)于《webService基礎(chǔ)總結(jié)》給出的范例僅供您參考拓展思維使用,webService基礎(chǔ)總結(jié):該篇文章建議您自主創(chuàng)作。

來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。


webService基礎(chǔ)總結(jié)》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.hmlawpc.com/gongwen/673091.html
相關(guān)文章