天天看點

如何在delphi中調用WebService

本文通過使用Delphi和Web   Services技術開發短信應用程式的執行個體詳細的介紹了如何在Delphi中開發基于Web   Services技術的應用程式。    

  關鍵字:Delphi;Web   Service;短信應用程式開發  

  一提起基于Web  Services技術的應用程式開發,一般人首先想到的開發工具是Vs.net,其實作為快速應用程式開發工具(RAD)的老大,Delphi從6.0就開始支援Web   Services的開發和應用了,本文通過使用Delphi   7.0調用新浪發送短信的Web  Service進行短信應用程式開發這一執行個體詳細的介紹在Delphi中如何開發基于Web   Services的應用系統。  

  第一步,準備工作,了解新浪短信Web   Service。新浪發送短信的Web  Service位址是http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl,該Web  Service就隻有一個方法,即string  sendXml(carrier,userid,password,mobilenumber,content,msgtype)。各個參數全部為string類型,其含義基本如下(可能不正确)。  

  Carrier:營運商名稱,好像可以随便輸,建議輸入“Sina”,如果輸入其他的值,消息發送的特别慢;  

  Userid:您在新浪無線上注冊的手機ID,如果您沒有在http://sms.sina.com.cn上注冊您的手機,你是無法使用本Web   Service發送短信的;  

  Password:您在新浪無線上注冊手機時所使用的密碼;  

  Mobilenumber:對方的手機号碼;  

  Content:發送短消息的内容;  

  Msgtype:發送短消息的類型,我估計支援彩信,不過我不知道怎麼使用,似乎随便輸什麼都可以,我使用的是“Text”。  

  資費标準請參看新浪無線網站上的相關說明,應該是一條一角錢,不過也或者是一條兩角線,具體不太清楚。由于其背景可能使用了消息隊列機制,在繁忙的時候,可能會有較長時間的延遲。  

  第二步,先建立一個空白的應用程式。運作Delphi  7,打開[File]->[New]->[Application]菜單,Delphi自動生成一個預設的工程。将預設的窗體Form1改為sms,然後将改工程儲存為smsdemo.prj  

  第三步,引入Web  Service。,打開[File]->[New]->[Other]菜單,在彈出的視窗中選擇WebServices  Tab頁面,然後選擇其中的WSDL   importer選項,單擊OK按鈕彈出WSDL   importer  Wizard視窗,如圖2所示。在其上的Location   of   WSDL   File   or   URL  中輸入:http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl  (注意,千萬不能輸錯!),單擊Next按鈕後,再單擊Finishi按鈕,完成浪發送短信Web  Service的引入。此時工程檔案中會增加一個名字為smswebservice0101.pas的檔案,這是Delphi自動生成的Web  Service引入申明檔案,不要手工修改他。  

  第四步,調用Web   Service的短信發送接口。在sms窗體中,依次增加四個TEdit控件,一個TButton控件,一個TMemo控件和五個TLabel控件。  

  在smsfrm單元的uses語句中包含smswebservice0101,以便改窗體中能夠通路新浪發送短信的Web   Service接口。  

  在發送按鈕OnClick事件中寫入以下代碼:  

  procedure   Tsms.Button1Click(Sender:   TObject);  

  begin  

  Memo1.Text   :=   GetSMSWebServiceSoapPort.sendXml(Edit1.Text,  

  Edit2.Text,   Edit3.Text,   Edit4.Text,   Edit5.Text,'Text');  

  end;  

  注意:Edit1、Edit2、Edit3、Edit4、Edit5分别對應界面上的營運商、使用者名、密碼、對方号碼、消息内容;Memo1對應界面上的回報。  

  第五步,使用Web  Service的短信發送接口進行短信發送。編譯、運作smsdemo.prj,在使用者名中輸入您在新浪無線上注冊的手機ID、密碼中輸入您在新浪無線上的密碼,然後再輸入對方的手機号碼和消息内容,單擊發送按鈕,稍候片刻,在回報資訊框中将會得到該Web  Service的回報資訊,如果一切正常,系統會提示您短信發送成功。  

  小結  

  從上面的例子我們可以看到,隻要了解了Web   Services的概念,在Delphi的幫助下,開發基于Web  Services的應用程式将不是一件很困難的事情。Web  Services最适合用于開發跨平台和跨網絡進行通信(因為使用http協定為防火牆所允許)的程式,可以跨越異質架構,聯系客戶、供應商、企業夥伴以及企業内部之資訊系統,是電子商務B2B、企業資訊等內建的最佳解決方案。各個公司隻要把商務邏輯“暴露”出來,成為Web  Service,就可以讓任何指定的合作夥伴調用這些商務邏輯,而不管他們的系統在什麼平台上運作,使用什麼開發工具。Web  Services是目前很熱門也是正在迅速發展着的一項技術。

繼續閱讀