在Delphi下SOAP技術的實現_第1頁
在Delphi下SOAP技術的實現_第2頁
在Delphi下SOAP技術的實現_第3頁
在Delphi下SOAP技術的實現_第4頁
在Delphi下SOAP技術的實現_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

DelphiSOAP技術的實現一、開發SOAP服務端1、打開:[文件]/[新建]/[其他],出現以下界面:2、選擇ISAPI/INSAPIDynamicLinkLibrary3、在ServiceName中輸入接口名,如:現輸入媒體發送接口SendMedia4、出現SendMediaInf和SendMediaImpl兩個Pas文件,其中SendMediaInf是COM接口描述的文件,SendMediaImpl是接口的實現在SendMediaInf文件中出現ISendMedia=interface(IInvokable)的接口類型定義,現在接口類型描述中增加兩個函數:0。functionechoSendSM(constSMContent,PhoneNum:String):integer;stdcall;、獲取短信發送次數。functionechoGetSendTimes:integer;stdcall;代碼:type{InvokableinterfacesmustderivefromIInvokableISendMedia=interface(IInvokable)['{A5D12FE2-EF42-401C-9C4A-9E4A322E74B4}']functionechoSendSM(constSMContent,PhoneNum:String):integer;stdcall;functionechogetSendTimes:integer;stdcall;end;5、SendMediaImplSendMediaInf函數描述,保持與接口中定義的函數保持同步type{TSendMedia}TSendMedia=class(TInvokableClass,ISendMedia)PublicfunctionechoSendSM(constSMContent,PhoneNum:String):integer;stdcall;functionechogetSendTimes:integer;stdcall;end;6、在SendMediaImpl文件中完成函數的實現functionTSendSM.echoSendSM(constSMContent,PhoneNum:String):integer;varStr:pchar;beginStr:=pchar('Sendto:['+PhoneNum+']Content:['+SMContent+']');WriteLog(Str);result:=0;end;functionTSendSM.echogetSendTimes:integer;beginresult:=GetSendTimes;end;varFileHandle:Thandle;SendTimes:integer;//私有函數:寫日志前初始化procedureInitLogFile;varLogFile:String;beginLogFile:='C:\SendSM.log';ifFileExists(LogFile)thenbeginFileHandle:=FileOpen(LogFile,fmOpenReadWrite);FileSeek(FileHandle,0,2);endelsebeginFileHandle:=FileCreate(LogFile);end;end;//私有函數:寫日志procedureWriteLog(constlog:pchar);varlogStr:Pchar;beginInitLogFile;logStr:=Pchar(log+#13#10);FileWrite(FileHandle,logStr^,length(logStr));FileClose(FileHandle);incTimes;end;procedureincTimes;begininc(SendTimes);end;7、編譯成功,完成SOAPSendMedia.dllDLL文件二、 將DLL文件掛載到IIS服務器,并獲取WSDL文件。1、安裝IIS后,打開Internet信息服務2、右擊默認網站,新建虛擬目錄3、輸入DLL存放路徑3、點擊完成。4SendSM教本資源訪問選擇教本和可執行文件]5、打開瀏覽器,訪問虛擬目錄中的SendMedia.dll,會發現有echoSendSM和echoGetSendTimes(注:下圖內容不太準確。6IsendMediaWSDLWSDLSendMedia.wsdl.7IsendMediaWSDLWSDLSendMedia.wsdl.三、創建訪問SOAP接口的客戶端1、通過WSDL文件獲取SOAP接口WSDLImporterWSDLSendMedia接口的Pas文件,其中有定義訪問SOAP接口的方法functionGetISendSM(UseWSDL:Boolean;Addr:string;HTTPRIO:THTTPRIO):IsendMedia;constdefURL ='6/SendSM/SendMedia.dll/soap/IsendMedia';defSvc ='ISendSMservice';defPrt ='ISendSMPort';Begin……….End2、連接SOAP接口VarSendSM:ISendMedia;SendSM:=ISendMedia.GetISendSM(false,'',nil);3、調用SOAP中的函數、短信發送函數ProcedureTForm1.SendTimesClick(Sender:TObject);BeginifSendSM.echoSendSM('HUAWEINJRESEARCH')=0thenShowMessage('ShortMessageSendOK!');End;、獲取短信發送次數函數Proce

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論