function:WebServi" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

五、WebService會話Session的管理

系統(tǒng) 2096 0

1、新建Session的WebService測試代碼,代碼很簡單。就是記錄用戶登錄的狀態(tài)信息,放在MessageContext的ServiceContext中。代碼如下:

      
      
      
        代碼
      
      
      

這里保存Session信息的主要是通過MessageContext這個上下文來獲取ServiceContext的上下文,然后通過setProperty來保存session的信息,通過getProperty來獲取session信息。

Session的作用可以在使用WebService登錄的時候,保存用戶的登錄狀態(tài)或是會話消息。但是使用session需要設(shè)置發(fā)布Service的時候,設(shè)置WebService的作用域。作用域默認(rèn)是request,它還有另外三個值,分別是:application、soapsession、transportsession;我們可以選擇使用transportsession和application分別實(shí)現(xiàn)同一個WebService類和跨WebService類的會話管理。

2、使用axis2的工具生成aar文件,并發(fā)布LoginService服務(wù)。

clip_image002

關(guān)于這里發(fā)布LoginService的步驟就不一一介紹,上面已經(jīng)有說過了。當(dāng)你用這個步驟發(fā)布WebService的時候,你可以打開壓縮文件的方式aar文件(其實(shí)不一定要用aar文件,只是官方推薦的aar,jar文件也是可以的),在META-INF目錄下有一個services.xml文件,看到它的<service>這個標(biāo)簽,沒有設(shè)置scope屬性。

五、WebService會話Session的管理_第1張圖片

scope默認(rèn)的是request,我們得修改services.xml的內(nèi)容。

修改后services.xml內(nèi)容如下:

          
          
          
            代碼
          
          
          

這個地方的scope是關(guān)鍵,如果這里不設(shè)置的話session是無法存放信息。

3 、用控制臺Dos命令發(fā)布WebService

這個是手工打包,也就是我們經(jīng)常用的jar命令

首先我們得需要一個services.xml文件,文件內(nèi)容如上面的。

<service name= "LoginService" scope= "transportsession" >

name是當(dāng)前發(fā)布WebService的名稱,scope是會話作用域。保存在Session中就要用這個transportsession這個作用域。

<parameter name= "ServiceClass" >com.hoo.service.LoginService</parameter>

這個是當(dāng)前Service的類路徑,包名+類名

<messageReceivers>

<messageReceiver mep= "http://www.w3.org/2004/08/wsdl/in-only"

class= "org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />

<messageReceiver mep= "http://www.w3.org/2004/08/wsdl/in-out"

class= "org.apache.axis2.rpc.receivers.RPCMessageReceiver" />

</messageReceivers>

這個應(yīng)該是參數(shù)和返回值信息的解析類,in-only是輸入也就是參數(shù),in-out是輸出也就是返回值。

A、 首先,我們在C盤下新建一個sessionService的目錄,然后將上面的services.xml文件中的ServiceClass的類的class文件copy到這個目錄下,注意要帶上package目錄,然后在sessionService目錄下新建一個META-INF將上面的services.xml文件放到這個目錄下

B、 然后運(yùn)行cmd進(jìn)入控制臺,進(jìn)入sessionService這個目錄,鍵入命令如下:

jar cvf service.aar .

clip_image006

service.aar是打包后的文件名稱,.是指代當(dāng)前目錄

如果你不懂jar命令,你可以輸入jar會有命令語法的提示

五、WebService會話Session的管理_第2張圖片

進(jìn)入sessionService這個目錄中,你可以看到service.aar文件就有了。然后將這個文件copy到axis2的WEB-INF目錄下的services目錄中,也就是

[tomcat-home]\webapps\axis2\WEB-INF\services

然后可以通過: http://localhost:8080/axis2/services/listServices

就可以查看剛才發(fā)布的服務(wù)了。

這樣就完成手工發(fā)布打包發(fā)布WebService了

C、 編寫WebService客戶端的請求代碼

              
              
              
                代碼
              
              
              

執(zhí)行后,結(jié)果如下:

true

admin#登陸成功

上面要說明的是options.setManageSession( true );是開啟對Session管理的支持




五、WebService會話Session的管理


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 张家口市| 自贡市| 扎兰屯市| 诸城市| 来宾市| 鄯善县| 彩票| 嵊州市| 镇平县| 宁乡县| 南陵县| 石景山区| 镇原县| 莱阳市| 临泽县| 珠海市| 高雄县| 济源市| 秦安县| 昆山市| 新龙县| 津南区| 巴彦县| 南昌县| 翁牛特旗| 广元市| 新宁县| 宜宾市| 峨眉山市| 仲巴县| 大姚县| 聂拉木县| 渝北区| 宜宾市| 金坛市| 依兰县| 旺苍县| 灵寿县| 会理县| 邮箱| 长泰县|