久久久久综合给合狠狠狠,人人干人人模,大陆一级黄色毛片免费在线观看,亚洲人人视频,欧美在线观看一区二区,国产成人啪精品午夜在线观看,午夜免费体验

薈聚奇文、博采眾長、見賢思齊
當前位置:公文素材庫 > 計劃總結 > 工作總結 > webService基礎總結

webService基礎總結

網(wǎng)站:公文素材庫 | 時間:2019-05-29 07:18:03 | 移動端:webService基礎總結

webService基礎總結

WebService是一種跨編程語言和跨操作系統(tǒng)平臺的遠程調用技術

所謂跨編程語言和跨操作平臺,就是說服務端程序采用java編寫,客戶端程

序則可以采用其他編程語言編寫,反之亦然!跨操作系統(tǒng)平臺則是指服務端程序和客戶端程序可以在不同的操作系統(tǒng)上運行。除了WebService外,常見的遠程調用技術還有RMI(Remotemethodinvoke)

和CORBA,由于WebService的跨平臺和跨編程語言特點,因此比其他兩種技術應用更為廣泛,但性能略低。

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

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

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

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

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

WebService客戶端要調用一個WebService服務,首先要有知道這個服務的

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

客戶端和服務器端都能理解的標準格式,其中描述的信息可以分為what,where,how等部分!

WSDL文件保存在Web服務器上,通過一個url地址就可以訪問到它?蛻

端要調用一個WebService服務之前,要知道該服務的WSDL文件的地址。WebService服務提供商可以通過兩種方式來暴露它的WSDL文件地址:

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

擴展閱讀:webservice基礎知識與學習心得

Webservice基礎知識

常見術語WSDL

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

Operation

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

Porttype

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

Binding

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

Port

Port說明WebService部署在哪個端口,Port也是WSDL中的節(jié)點之一。

Targetnamespace

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

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

ApacheCXF,ApacheAxis2andMetrofromSunMicrosystems

ApacheCXF,ApacheAxis2andMetrofromSunMicrosystems只不過是針對Java的一些WebService處理工具,作用是在客戶端傳遞消息過來時,把它轉化為服務端Java類并請調用服務端提供的服務。

WSDL的兩種形式RPCstyle

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

Documentstyle

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

Webservice開發(fā)

前提:

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

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

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

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

配置

增加環(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ù)說明

輸入命令“avaorg.apache.axis.wsdl.WSDL2Javah”,參數(shù)說明如下-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轉化為Java文件、客戶端調用和服務端實現(xiàn)命令和常用參數(shù)說明

命令:

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

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

-d部署服務訪問范圍,可選值為"Application","Request","Session"

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

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

生成客戶端

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

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

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

客戶端調用服務

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

生成服務端

命令: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說明:

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

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

服務端代碼填充

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

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

拷貝解壓后的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目錄下面;將剛才服務端生成的deploy.wsdd拷貝到Tomcat-5.5.25\\webapps\\axis\\WEB-INF;

啟動tomcat

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

點擊List,彈出界面如下:

生成service-config.wsdd

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

:8888/axis/services/EOMSDispatchDownServicedeploy.wsdd說明:

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

再次訪問試一下:

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

部署服務

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

…….

到要部署服務的項目中的server-config.wsdd即可完成服務的部署。

2.其實可以自己寫

…….

中的配置信息,如下:

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

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

來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權問題,請聯(lián)系我們及時刪除。


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