• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    xsd:any:幕后故事

    發布: 2008-6-02 15:29 | 作者: 不詳 | 來源: Russell Butek/developerWorks 中國 | 查看: 60次 | 進入軟件測試論壇討論

    領測軟件測試網


      <message name="registerPetResponse">
        <part name="registerPetResponse" element="tns:registerPetResponse"/>
      </message>
      <portType name="Vet">
        <operation name="registerPet">
          <input message="tns:registerPetRequest"/>
          <output message="tns:registerPetResponse"/>
        </operation>
      </portType>
      <binding name="VetSOAP" type="tns:Vet">
        <soap:binding style="document"
            transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="registerPet">
          <soap:operation/>
          <input>
            <soap:body use="literal"/>
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="VetService">
        <port name="VetSOAP" binding="tns:VetSOAP">
          <soap:address location="http://localhost:9080/VetService/services/Vet"/>
        </port>
      </service>
    </definitions>

      registerPet 的 xsd:any 參數可以為以下二者之一:

      Cat 或 Fish 的實例   在其他位置或別的時候定義的其他寵物類型的實例。

      xsd:any 背離了 WSDL 的用途

      請注意,上面列出的兩個參數并未在 WSDL 中定義。我自己確定其定義。WSDL 即 Web 服務描述語言 (Web Services Description Language)。其主要的用途就是盡可能完整地描述服務的接口。當使用 xsd:any 時,您就背離了 WSDL 的此用途。

      第一個項目符號聲明該參數將為 cat 或 fish。但 WSDL 并不告訴您這一點。它所標明的是該參數可以為任何事物?紤]到這是一個獸醫服務,則可能不會處理訂單或保險索賠或稅收報表——但您可能恰恰會這樣猜想;WSDL 并沒有告訴您這些信息。

      處理此偽多態性的一個更好方法是定義真正的多態性。定義一個基類型,稱為 Pet,然后重新編寫 Cat 和 Fish 來對 Pet 進行擴展。

      第二個項目符號聲明其他類型將在其他地方或別的時候進行定義。這表明這個 WSDL 并不是此服務的完整接口。這可能會讓人覺得可以更改服務并保持 API 不變,但由于此 WSDL 不是完整的 API,這樣的說法就不成立了。對于使用此 WSDL 的客戶機,要成功地與此服務進行通信,僅這個 WSDL 是不夠的?蛻羰欠窨梢詫⒍涛趋{ (alligator) 送來接受服務?只通過查看 WSDL,您不會知道答案(我認識的可以給短吻鱷看病的獸醫也不多!)。您需要一些更多的帶外定義。

      JAX-RPC 與 xsd:any 之間的關系不是特別友好

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    52/5<12345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>