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

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

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

    拾貝殼

    走過(guò)的路
    隨筆 - 39, 文章 - 1, 評(píng)論 - 14, 引用 - 0
    數(shù)據(jù)加載中……

    axis userguide(3)

    服務(wù)類(lèi)型

    在axis中有4中服務(wù)類(lèi)型
    RPC服務(wù)采用soap rpc的標(biāo)準(zhǔn),and also the SOAP "section 5" encoding.
    Document 服務(wù)沒(méi)有采用任何編碼(所以你在組裝時(shí)不會(huì)看到復(fù)雜對(duì)象的序列化以及soap-style數(shù)組),但是仍然作了xml和java對(duì)象的互映射。
    Wrapped服務(wù)和Document服務(wù)類(lèi)似
    Message 服務(wù)接受和返回soap Envelope中的任意的xml而不需要mapping/data得榜定。如果你想處理來(lái)自外部的原始的xml,可以采用Message 服務(wù)。

    RPC服務(wù)
       這個(gè)服務(wù)是axis默認(rèn)的服務(wù)。我們?cè)谇懊娴睦又袑?xiě)的就是rpc服務(wù)。<service ... provider="java:RPC"> 。rpc服務(wù)遵從soap rpc規(guī)范和編碼規(guī)則,意味著來(lái)自rpc服務(wù)的xml將類(lèi)似上面例子中的“echoString”--每個(gè)rpc調(diào)用被模塊化為一個(gè)外部元素,匹配操作名稱(chēng),并包含了很多內(nèi)部元素,每一個(gè)都是操作的一個(gè)參數(shù)。axis將把這些xml轉(zhuǎn)化為java對(duì)象,配送給你得服務(wù),并將序列化來(lái)自服務(wù)的java對(duì)象為xml.因?yàn)閞pc服務(wù)默認(rèn)采用soap section 5規(guī)則,對(duì)象將會(huì)通過(guò)"multi-ref" 序列化來(lái)編碼。
    Document / Wrapped 服務(wù)
     這2個(gè)服務(wù)很類(lèi)似,都不需要用soap編碼來(lái)處理數(shù)據(jù)。他就是一個(gè)普通的xml格式。無(wú)論哪種情況,axis還是對(duì)他們做了xml到j(luò)ava得榜定,所以你最終處理的還是java對(duì)象,而不是xml結(jié)構(gòu)的字符串。
     下面的例子來(lái)說(shuō)明他們2個(gè)之間的區(qū)別。
     <soap:Envelope xmlns="http://xml.apache.org/axis/wsdd/"
        xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
      <soap:Body>
        <myNS:PurchaseOrder xmlns:myNS="http://commerce.com/PO">
          <item>SK001</item>
          <quantity>1</quantity>
          <description>Sushi Knife</description>
        </myNS:PurchaseOrder>
      </soap:Body>
    </soap:Envelope>

    相關(guān)的PurchaseOrder類(lèi)型定義如下:

    <schema targetNamespace="http://commerce.com/PO">
      <complexType name="POType">
        <sequence>
          <element name="item" type="xsd:string"/>
          <element name="quantity" type="xsd:int"/>
          <element name="description" type="xsd:string"/>
        </sequence>
      </complexType>
      <element name="PurchaseOrder" type="POType"/>
    </schema>

    對(duì)于一個(gè)document服務(wù)來(lái)說(shuō),他將對(duì)應(yīng)到這樣的方法
    public void method(PurchaseOrder po)

    換句話(huà)說(shuō),整個(gè)PurchaseOrder元素將被處理為一個(gè)單一的對(duì)象,包含3個(gè)屬性。
    而對(duì)于wrapped服務(wù)來(lái)說(shuō),他對(duì)應(yīng)于下面的方法
    public void purchaseOrder(String item, int quantity, String description)
    注意到,在wrapped中,PurchaseOrder元素被映射為代表了一個(gè)方法。他的參數(shù)就是他的那些元素。
    他們?cè)趙sdd得使用如下
    <service ... style="document"> for document style
    <service ... style="wrapped"> for wrapped style
    Message 服務(wù)
      當(dāng)你需要處理純xml而不是java對(duì)象時(shí),你將會(huì)用到這種服務(wù)。
      message服務(wù)的方法有4中簽名
    public Element [] method(Element [] bodies);
    public SOAPBodyElement [] method (SOAPBodyElement [] bodies);
    public Document method(Document body);
    public void method(SOAPEnvelope req, SOAPEnvelope resp);

    posted on 2008-02-17 20:31 binge 閱讀(621) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): J2EE

    主站蜘蛛池模板: 九九久久精品国产免费看小说| 亚洲阿v天堂在线2017免费| 国产jizzjizz视频全部免费| 国产麻豆视频免费观看| 亚洲a∨国产av综合av下载| 曰韩亚洲av人人夜夜澡人人爽| 91香焦国产线观看看免费| 日韩国产欧美亚洲v片| 黑人精品videos亚洲人| 性生交片免费无码看人| 国产无限免费观看黄网站| 亚洲国产亚洲片在线观看播放| 男人的天堂亚洲一区二区三区| yy一级毛片免费视频| 亚洲AV无码乱码麻豆精品国产| 亚洲日本韩国在线| 无人影院手机版在线观看免费| 久久精品无码免费不卡| 一本天堂ⅴ无码亚洲道久久| 亚洲欧洲国产精品香蕉网| 免费看大美女大黄大色| 一级毛片**不卡免费播| 春意影院午夜爽爽爽免费| 久久精品国产亚洲αv忘忧草 | 亚洲Aⅴ无码专区在线观看q| 日本一道一区二区免费看| 亚洲成a∧人片在线观看无码| 亚洲αv久久久噜噜噜噜噜| 日本v片免费一区二区三区| 99热这里有免费国产精品| 又大又硬又粗又黄的视频免费看 | 男人天堂免费视频| 国产亚洲精品美女久久久久久下载| 亚洲国产高清人在线| 亚洲国产精品碰碰| 热久久精品免费视频| 18观看免费永久视频| 在线观看特色大片免费网站| 女人裸身j部免费视频无遮挡| 一本色道久久综合亚洲精品蜜桃冫 | 嫩草在线视频www免费看|