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

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

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

    拾貝殼

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

    axis userguide(3)

    服務(wù)類型

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

    RPC服務(wù)
       這個(gè)服務(wù)是axis默認(rèn)的服務(wù)。我們在前面的例子中寫的就是rpc服務(wù)。<service ... provider="java:RPC"> 。rpc服務(wù)遵從soap rpc規(guī)范和編碼規(guī)則,意味著來自rpc服務(wù)的xml將類似上面例子中的“echoString”--每個(gè)rpc調(diào)用被模塊化為一個(gè)外部元素,匹配操作名稱,并包含了很多內(nèi)部元素,每一個(gè)都是操作的一個(gè)參數(shù)。axis將把這些xml轉(zhuǎn)化為java對象,配送給你得服務(wù),并將序列化來自服務(wù)的java對象為xml.因?yàn)閞pc服務(wù)默認(rèn)采用soap section 5規(guī)則,對象將會(huì)通過"multi-ref" 序列化來編碼。
    Document / Wrapped 服務(wù)
     這2個(gè)服務(wù)很類似,都不需要用soap編碼來處理數(shù)據(jù)。他就是一個(gè)普通的xml格式。無論哪種情況,axis還是對他們做了xml到j(luò)ava得榜定,所以你最終處理的還是java對象,而不是xml結(jié)構(gòu)的字符串。
     下面的例子來說明他們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類型定義如下:

    <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>

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

    換句話說,整個(gè)PurchaseOrder元素將被處理為一個(gè)單一的對象,包含3個(gè)屬性。
    而對于wrapped服務(wù)來說,他對應(yīng)于下面的方法
    public void purchaseOrder(String item, int quantity, String description)
    注意到,在wrapped中,PurchaseOrder元素被映射為代表了一個(gè)方法。他的參數(shù)就是他的那些元素。
    他們在wsdd得使用如下
    <service ... style="document"> for document style
    <service ... style="wrapped"> for wrapped style
    Message 服務(wù)
      當(dāng)你需要處理純xml而不是java對象時(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) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 在人线av无码免费高潮喷水| 在线看无码的免费网站| 四虎影视精品永久免费网站| 国产亚洲精aa在线看| 成人免费午夜无码视频| 亚洲国产成人无码av在线播放| 国产成人久久AV免费| 亚洲国产综合专区电影在线| 欧洲人成在线免费| 亚洲av一综合av一区| 美女内射无套日韩免费播放| 亚洲天堂一区二区| 国产h视频在线观看网站免费| 亚洲中文久久精品无码1| 午夜dj免费在线观看| 羞羞网站免费观看| 丁香五月亚洲综合深深爱| 老司机69精品成免费视频| 亚洲人成亚洲精品| 成人AV免费网址在线观看| 国产亚洲高清在线精品不卡| 久久久久亚洲AV无码专区桃色| 大地资源在线资源免费观看| 亚洲精品美女视频| 免费看又爽又黄禁片视频1000| 日本永久免费a∨在线视频| 久久国产亚洲电影天堂| 日韩在线免费视频| 免费毛片毛片网址| 久久久亚洲精品视频| 在线a毛片免费视频观看| 国产高潮流白浆喷水免费A片 | 久久夜色精品国产噜噜亚洲AV| 女人被弄到高潮的免费视频 | 免费A级毛片无码A∨中文字幕下载| 亚洲妇女水蜜桃av网网站| 亚洲高清视频一视频二视频三| 日本一道本不卡免费| 亚洲人成色4444在线观看| 精品国产综合成人亚洲区| 久久这里只有精品国产免费10|