亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > 在axis中通過wsdd文件發(fā)布和卸載webservice

在axis中通過wsdd文件發(fā)布和卸載webservice
2010-01-15 07:17:49  作者:  來源:
在上一篇<>中我介紹了一種簡(jiǎn)單webservice的發(fā)布方式-jws。

     這種發(fā)布方式非常的敏捷!但有它的局限性—你必須知道webservice的源代碼。有時(shí)候這個(gè)的確很讓人郁悶!比如:的webservice被打成了一個(gè)jar包,你并沒有源代碼。或者這個(gè)webservice根本就不是你的公司開發(fā)的。這時(shí)你發(fā)布這個(gè)webservice就會(huì)變得很困難。axis針對(duì)這種情況提供了wsdd文件的方式來發(fā)布和撤銷webservice。

     現(xiàn)在我們來通過一個(gè)wsdd文件來對(duì)wsdd有個(gè)初步的認(rèn)識(shí)。注意:在開始下面的步驟前請(qǐng)安裝axis.具體安裝請(qǐng)看上一篇

 

xml 代碼
 
  1. <deployment xmlns="http://xml.apache.org/axis/wsdd/"  
  2.             xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
  3.             <service name="MyService" provider="java:RPC">  
  4.                      <parameter name="className" value="samples.userguide.example3.MyService"/>  
  5.                       <parameter name="allowedMethods" value="*"/>  
  6.             service>  
  7. deployment>  

最外面的元素告訴我們這是一個(gè)wsdd發(fā)布項(xiàng),并且定義了java的命名空間,service  元素定義了我們的service.java:RPC定義了axis的provider。parameter name定義了webservice類名及所在包的位置。allowedMethods value等于*,表示MyService的所有方法都可以被調(diào)用。

         了解了wsdd文件,我們來認(rèn)識(shí)一個(gè)非常有用的工具AdminClient.正式通過它我們才能通過wsdd文件發(fā)布我們的應(yīng)用。它的全路徑是org.apache.axis.client.AdminClient,在axis.jar包中。在使用這個(gè)工具前我們必須把相應(yīng)的jar包加入classpath。如:axis.jar..。如果你做了<>的練習(xí)則這一步就不用再做了。

        我們首先進(jìn)入webservice所在源文件的目錄找到deploy.wsdd文件。然后鍵入如下命令:

           java org.apache.axis.client.AdminClient deploy.wsdd

         (如果提示錯(cuò)誤,請(qǐng)檢查你是否將必須的jar包加入classpath)

        
         如果成功則會(huì)顯示 :

 
  1. <Admin>Done processingAdmin>  

        下面來解釋AdminClient 所做的工作。AdminClient 首先會(huì)在axis.jar所在應(yīng)用下的WEB-INF文件夾下創(chuàng)建一個(gè)webservice配置文件server-config.wsdd,并且根據(jù)wsdd文件的配置將我們的webservice加入到這個(gè)配置文件中。如果server-config.wsdd已經(jīng)存在則不會(huì)創(chuàng)建,會(huì)修改這個(gè)文件將新的service 配置到server-config.wsdd文件中。

如圖:

 
xml 代碼
 
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
  3.  <globalConfiguration>  
  4.   <parameter name="sendMultiRefs" value="true"/>  
  5.   <parameter name="disablePrettyXML" value="true"/>  
  6.   <parameter name="adminPassword" value="admin"/>  
  7.   <parameter name="attachments.Directory" value="C:\tomcat5\webapps\axis\WEB-INF\attachments"/>  
  8.   <parameter name="dotNetSoapEncFix" value="true"/>  
  9.   <parameter name="enableNamespacePrefixOptimization" value="false"/>  
  10.   <parameter name="sendXMLDeclaration" value="true"/>  
  11.   <parameter name="sendXsiTypes" value="true"/>  
  12.   <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>  
  13.   <requestFlow>  
  14.    <handler type="java:org.apache.axis.handlers.JWSHandler">  
  15.     <parameter name="scope" value="session"/>  
  16.    handler>  
  17.    <handler type="java:org.apache.axis.handlers.JWSHandler">  
  18.     <parameter name="scope" value="request"/>  
  19.     <parameter name="extension" value=".jwr"/>  
  20.    handler>  
  21.   requestFlow>  
  22.  globalConfiguration>  
  23.  <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>  
  24.  <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>  
  25.  <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>  
  26.  <service name="AdminService" provider="java:MSG">  
  27.   <parameter name="allowedMethods" value="AdminService"/>  
  28.   <parameter name="enableRemoteAdmin" value="false"/>  
  29.   <parameter name="className" value="org.apache.axis.utils.Admin"/>  
  30.   <namespace>http://xml.apache.org/axis/wsdd/namespace>  
  31.  service>  
  32.  <service name="Version" provider="java:RPC">  
  33.   <parameter name="allowedMethods" value="getVersion"/>  
  34.   <parameter name="className" value="org.apache.axis.Version"/>  
  35.  service>  
  36. >  
  37.  <service name="MyService" provider="java:RPC">  
  38.   <parameter name="allowedMethods" value="*"/>  
  39.   <parameter name="className" value="samples.userguide.example3.MyService"/>  
  40.  service>  
  41.  <transport name="http">  
  42.   <requestFlow>  
  43.    <handler type="URLMapper"/>  
  44.    <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>  
  45.   requestFlow>  
  46.   <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>  
  47.   <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
  48.   <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>  
  49.   <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  50.   <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  51.   <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
  52.  transport>  
  53.  <transport name="local">  
  54.   <responseFlow>  
  55.    <handler type="LocalResponder"/>  
  56.   responseFlow>  
  57.  transport>  
  58. deployment>  
xml 代碼

 我們來訪問一下看看:

java samples.userguide.example3.Client -lhttp://localhost:8080/axis/services/MyService "test me!"


You typed : test me!    

返回正確,部署成功!

         如果你要卸載一個(gè)webservice也很簡(jiǎn)單!我們首先定義一個(gè)undeploy.wsdd

 
  1. <undeployment xmlns="http://xml.apache.org/axis/wsdd/">  
  2.  <service name="MyService"/>  
  3. undeployment>  
xml 代碼

進(jìn)入webservice所在源文件的目錄找到undeploy.wsdd文件。然后鍵入如下命令:

              java org.apache.axis.client.AdminClient  undeploy.wsdd

 (如果提示錯(cuò)誤,請(qǐng)檢查你是否將必須的jar包加入classpath)

        
         如果成功則會(huì)顯示 :
 

 
  1. <Admin>Done processingAdmin>  

 

在看server-config.wsdd已經(jīng)刪除了原來service的定義

 
xml 代碼
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  
  3.  <globalConfiguration>  
  4.   <parameter name="sendMultiRefs" value="true"/>  
  5.   <parameter name="disablePrettyXML" value="true"/>  
  6.   <parameter name="adminPassword" value="admin"/>  
  7.   <parameter name="attachments.Directory" value="C:\tomcat5\webapps\axis\WEB-INF\attachments"/>  
  8.   <parameter name="dotNetSoapEncFix" value="true"/>  
  9.   <parameter name="enableNamespacePrefixOptimization" value="false"/>  
  10.   <parameter name="sendXMLDeclaration" value="true"/>  
  11.   <parameter name="sendXsiTypes" value="true"/>  
  12.   <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>  
  13.   <requestFlow>  
  14.    <handler type="java:org.apache.axis.handlers.JWSHandler">  
  15.     <parameter name="scope" value="session"/>  
  16.    </handler>  
  17.    <handler type="java:org.apache.axis.handlers.JWSHandler">  
  18.     <parameter name="scope" value="request"/>  
  19.     <parameter name="extension" value=".jwr"/>  
  20.    </handler>  
  21.   </requestFlow>  
  22.  </globalConfiguration>  
  23.  <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>  
  24.  <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>  
  25.  <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>  
  26.  <service name="AdminService" provider="java:MSG">  
  27.   <parameter name="allowedMethods" value="AdminService"/>  
  28.   <parameter name="enableRemoteAdmin" value="false"/>  
  29.   <parameter name="className" value="org.apache.axis.utils.Admin"/>  
  30.   <namespace>http://xml.apache.org/axis/wsdd/</namespace>  
  31.  </service>  
  32.  <service name="Version" provider="java:RPC">  
  33.   <parameter name="allowedMethods" value="getVersion"/>  
  34.   <parameter name="className" value="org.apache.axis.Version"/>  
  35.  </service>  
  36. <!--  
  37.  原來的service的定義已經(jīng)刪除!  
  38. -->  
  39.  <transport name="http">  
  40.   <requestFlow>  
  41.    <handler type="URLMapper"/>  
  42.    <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>  
  43.   </requestFlow>  
  44.   <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>  
  45.   <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
  46.   <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>  
  47.   <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  48.   <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>  
  49.   <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>  
  50.  </transport>  
  51.  <transport name="local">  
  52.   <responseFlow>  
  53.    <handler type="LocalResponder"/>  
  54.   </responseFlow>  
  55.  </transport>  
  56. </deployment>  

       看是不是很簡(jiǎn)單,不僅省去了ctrl+cctrl+v,還防止了手動(dòng)配置出錯(cuò)。一舉兩得豈不快哉!


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 国产精品原创巨作av | 午夜精品在线 | 玖玖色资源 | 韩国成人精品a∨在线观看 国产伊人av | 国产精品s色 | 成av人在线 | 一区二区三区国产视频 | www.一区| 日本久久精品视频 | 亚洲欧美久久久 | 久久精品无码一区二区三区 | 国产黄色一级大片 | 日韩在线视频观看 | 美女黄在线观看 | 久久国产欧美日韩精品 | 久久久久国产精品免费免费搜索 | 香蕉综合久久 | 日韩成人在线视频 | 成人tv| 日韩a视频 | 亚洲视频在线免费观看 | 亚洲国产字幕 | 中文字幕日韩欧美一区二区三区 | 欧美一区永久视频免费观看 | 男女羞羞视频网站 | 国产在线一区不卡 | 台湾佬亚洲色图 | www.fefe66.com| 国产99免费 | 国产精品中文字幕在线 | 亚洲一区在线视频 | 国产欧美一区二区三区国产幕精品 | 中文字幕在线第一页 | 久久国产精品无码网站 | 久久亚洲综合 | 欧美日韩久久久久 | 五月激情综合网 | 国产一区二区三区四区在线观看 | av一二三区 | 日韩欧美在线免费观看 | 日韩在线一区二区三区 |