李維的 Demo 中可以改進的地方

來源:互聯網
上載者:User

    李維這次的內地之行(見《感受李維》一文)可以說在 Borland 的使用者掀起了一場風暴,在幾個比較大的程式員論壇上,這是這幾最熱門的話題之一,我在 CSDN 上發了一貼關於他上海之行的文字,結果成為我發過的有史以來反響最強的一個貼子。
    在這次 Borland 舉辦的 WebService 技術研討會上,李維做了幾個 Demo 來示範 Borland 的 WebService 解決方案,這是幾個非常好的 Demo ,它們以一種很簡單的方式,較為全面地展示了用 Borland 的幾個主要產品進行 SOAP/WebService 開發的實現,但是我認為其中還是有地方可以改進。

    李維也是用打了 Update 2# 的 Delphi 6,這個版本的 Delphi 6 在 SOAP/WebService 應用開發方面有比較大的改進(見《DELPHI 6.02 搶先研究 -- BizSnap/SOAP/WebService 之四》一文),其中最大的改進之一便是 WSDL Import Wizard 。新的 WSDL Import Wizard 主要改進在:

  1.  增加了一個匯入結果查看介面,可以以樹形顯示匯入的 WSDL 中所含的介面內容,並且可以預覽產生的介面單元;
  2. 產生的介面單元包含了 HTTP 遠程介面對象產生;
  3. 支援新的 SOAP 標準,可以匯入 Visual Studio.net 產生的 WSDL。 

    而上述幾點中的第二點就是李維可以改進的一點。在《DELPHI 6 搶先研究 -- BizSnap/SOAP/WebService 之一》一文的例子中所採用的方法就是李維的 Demo 中所用的方法,即放上一個 HTTPRIO 控制項,設定好 URL 屬性,再用如下的代碼來訪問遠程介面:

Var  p : ISoapHello;begin  p := HTTPRIO1 As ISoapHello;  Label1.Caption := p.GetHello( StrToInt( Edit1.Text ) );end;

    但是因為前面所說的 WSDL Import Wizard 的第二點改進,所以已經可以不用這麼麻煩了,不需要再放 HTTPRIO 控制項,而且代碼也簡單得只要一句:

  Label1.Caption := GetISoapHello.GetHello( StrToInt( Edit1.Text ) );

    其中的 GetISoapHello 是一個函數,返回一個實現 ISoapHello 遠程介面的對象,在匯入 WSDL 時產生的介面單元檔案裡定義並實現的,它的功能就是建立一個 HTTPRIO 對象,並根據 WSDL 設定好所有的屬性。

[Mental Studio]猛禽 Apr.13-02

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.