<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    herodby
    技術 筆記
    posts - 14,  comments - 14,  trackbacks - 0
    ??? axis2 有三種配置文件 用來配置系統.第一個是用來配置整個系統(全局配置)--axis2.xml.第二個是配置一個服務(服務配置),第三個是配置一個module .
    ??? 1:全局配置----axis2.xml
    ?????????所有axis2啟動時需要的配置都在包括在axis2.xml文件中.在這個文件中,我們可以看到有6個頂級節點,列表如下:
    ????????
  • Parameter
  • Transport Receiver
  • Transport Sender
  • Phase Order
  • Module References
  • Listeners (Observers)

    Parameter
    ????? 這個節點只有一個name屬性,和一個value值.每個頂級的parameter節點定義的值都會被寫到AxisConfiguration 對象的屬性里.因此在系統運行時,我們可以通過AxisConfiguration對象來獲得在axis2.xml中配置的頂級parameter節點的值.配置一個parameter的正確方法 如下所示:

    ??? <parameter name="name of the parameter" >parameter value </parameter>

    Transport Receiver
    ?????
    <transportReceiver name="http"??????????????????????????????????????????????????????????????????????????????????????????? class="org.apache.axis2.transport.http.SimpleHTTPServer">
    ??????? <parameter name="port" >6060</parameter>
    </transportReceiver>
    ???? transpaortReceiver元素的name屬性,代表了數據傳輸的名字,可以是 "http,tcp , smtp , commonshttp stc "?? ,當系統啟動的時候,或者在客戶端設置transport的時候,就可以使用在這里命名的transport,來裝載相應的transport.
    ??? class屬性 描述了實際的java類 ,這個類必須擴展了transport接口.任何transport都可以有0個或者任意多個參數,如果設置了參數,那么這些參數可以被相應的transpaortReceiver 獲得.

    ???? Transport Senders
    ?????????和Transport Receiver一樣,它也是注冊倒系統里, 在以后運行時,用來發送消息.
    ?<transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
    ??????? <parameter name="PROTOCOL" locked="xsd:false">HTTP/1.0</parameter>
    </transportSender>
    ??? 這個配置段的屬性解釋和Transport Receiver類似,就不做介紹了.

    Phase Order
    ??? 使用 phase order元素,具體描述在執行鏈中必須被執行的步驟順序.
    <phaseOrder type="inflow">
    ?????????<phase name="Transport">
    ??????????????????????? <handler name="RequestURIBasedDispatcher"
    ???????????????????? class="org.apache.axis2.engine.RequestURIBasedDispatcher">
    ?????????????????????????<order phase="Dispatch"/>
    ??????????????????</handler>
    ??????????????????<handler name="SOAPActionBasedDispatcher"
    ???????????????????? class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
    ?????????????????????????<order phase="Dispatch"/>
    ???????????????????? </handler>
    ??????? </phase>??????
    ????? ?? .
    ???????? .
    </phaseOrder>?

    令人興奮的是,你可以在這里增加自己的handler,而且在axis2(任何axis版本)中,都沒有handler 鏈的硬編碼框架,也就是說不需要擴展或者繼承axis2的什么接口或者類.
    具體例子可以看axis2.xml文件.
    type 屬性 必須是下面中的一種:

  • inflow
  • outflow
  • INfaultflow
  • Outfaultflow

    在phaseOrder節點里第一級子節點只允許有phase元素.<phase name="Transport"/>
    前面已經說了,我們可以改變phaseorder,可以增加自己的phase 和handler,但是必須注意:在axis2的4個 flows里面都有 system pre-defined 的phases, 我們不可以改變他們的順序,你可以在他們的后面增加自己的phase

    Module References
    如果你想使用一個模塊系統,那么你可以在axis2.xml中增加一個頂級的module節點.
    <module ref="addressing"/>

    Listeners (Observers)
    ?axis2中,AxisConfiguration這個類是采用的觀察者模式設計的,所以你可以向類中注冊自己的觀察者類.當AxisConfiguration類發生改變的時候,你的類會被自動調用 目前當以下事件發生時,觀察類就會被觸發:
    ?

  • Deploying a Service
  • Removing a service
  • Activate/Inactivate Service
  • Module deploy
  • Module remove

    注冊觀察者是非常有用的,比如,rss更新的時候,你可以通知訂閱者等等.例如:
    ? <listener class="org.apache.axis2.ObserverIMPL">
    ????? <parameter name="RSS_URL" >http://127.0.0.1/rss</parameter>
    ? </listener>
    ? class屬性指定的類,必須擴展AxisObserver 這個接口,而且存在于classph中.
    系統配置就這么多了.
    太累了,休息一會,以后再寫剩下的2中配置文件..

  • 2 服務配置 service.xml
    ??? <service name="name of the service" scope="name of the scope" targetNamespace="target namespase for the service">
    ??? <description> The description of the service? </description>?

    ??? <transports>
    ?????? <transport>HTTP</transport>
    ??? </transports>
    ???
    ??? <schema schemaNamespace="schema namespace"/>
    ????
    ??? <messageReceivers>
    ??????????? <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
    ???????????????????????????? class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    ??? </messageReceivers>
    ????
    ???? <parameter name="ServiceClass"???? locked="xsd:false">org.apache.axis2.sample.echo.EchoImpl</parameter>
    ???
    ??? <operation name="echoString" mep="operation MEP">
    ??????? <actionMapping>Mapping to action</actionMapping>
    ??????? <module ref=" a module name "/>
    ??????? <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    ??? </operation>
    ? </service>
    如果.aar里面只有一個service那么.aar包的名字就是發布的webservice名字,如果有多個service,那么在這里service元素索指定的那么屬性值就表示webservice的名字.
    scope屬性指明了webservice發布后的作用范圍,有"Application","SOAPSession","TransportSession","Request";
    targetNamingSpace? :服務的名字空間,在生成wsdl時會用到.
    transport:?? 可選的,字面的意思已經很明顯了,不多說了,配置的name就是在axis2.xml文件中指明的transport
    parameter屬性,一個service.xml可以有任意多個頂級節點的parameter節點.
    parameter里配置的值會被寫到AxisService類的屬性里,在service.xml文件中至少要有一個parameter 名字是ServiceClass 它的value值指定具體執行服務的java類,這個類會被MessageReciever裝載.
    operation比較簡單就是用來指明暴露的方法的.不做介紹了.
    剩下module的配置,還沒搞懂,先不寫了.

    posted on 2006-08-23 18:04 鄧兵野 閱讀(5508) 評論(0)  編輯  收藏 所屬分類: webservice

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2006年8月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在线不卡免费视频| 免费大片黄在线观看yw| 亚洲激情视频图片| 91麻豆国产免费观看| 亚洲av无码无在线观看红杏| 不卡视频免费在线观看| 亚洲国产一二三精品无码| 中国性猛交xxxxx免费看| 日本红怡院亚洲红怡院最新| 成人免费av一区二区三区| 亚洲国产精品成人精品无码区| 精品视频在线免费观看| 91亚洲国产成人久久精品网站 | 国产精品亚洲精品日韩动图| 日韩a级毛片免费观看| 免费看内射乌克兰女| 亚洲尤码不卡AV麻豆| 色欲A∨无码蜜臀AV免费播| 亚洲天堂一区二区三区| 暖暖日本免费在线视频| 成人精品综合免费视频| 在线免费一区二区| 四虎国产精品永免费| 久久亚洲国产精品一区二区| h视频在线免费看| 久久人午夜亚洲精品无码区| 久久精品亚洲乱码伦伦中文| 国产偷国产偷亚洲清高APP| 奇米影视亚洲春色| 黄色免费网站网址| 黄网站在线播放视频免费观看| 亚洲精品国产成人片| 中文字幕乱码免费视频| 污网站在线免费观看| 亚洲国产精品国自产拍电影| 好吊妞视频免费视频| a毛片全部播放免费视频完整18| 亚洲精品偷拍无码不卡av| 免费人妻av无码专区| 免费人妻无码不卡中文字幕系| 亚洲精品无码mⅴ在线观看|