在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

提交评论