<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

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

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

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

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

       

      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>  

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

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

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

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

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

              
               如果成功則會顯示 :

       
      1. <Admin>Done processingAdmin>  

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

      返回正確,部署成功!

               如果你要卸載一個webservice也很簡單!我們首先定義一個undeploy.wsdd

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

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

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

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

              
               如果成功則會顯示 :
       

       
      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>  

             看是不是很簡單,不僅省去了ctrl+cctrl+v,還防止了手動配置出錯。一舉兩得豈不快哉!


      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        中文字幕在线精品乱码高 | 亚洲国产欧美在线一区 | 日韩免费码中文字幕 | 日韩精品一区二区三区在线视频放 | 中文字幕亚洲制服57页 | 在线a亚洲视频播放在线观看 |