在Delphi下SOAP技术的实现.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在 Delphi 下 SOAP 技术的实现 一、开发 SOAP 服务端 1、打开: [文件]/[新建]/[其他],出现以下界面: 2、选择 ISAPI/INSAPI Dynamic Link Library 3、在 Service Name 中 输入接口名,如:现输入媒体发送接口SendMedia 4、出现 SendMediaInf 和 SendMediaImpl 两个 Pas 文件,其中 SendMediaInf 是 COM 接口描述的文件,SendMediaImpl 是接口的实现 在 SendMediaInf 文件中出现ISendMedia = interface(IInvokable)的接口类型定义,现在接口类型描述中增加两个函数: 、短信发送函数,成功返回 0,失败返回-1。 function echoSendSM(const SMContent, PhoneNum: String): integer;stdcall; 、获取短信发送次数。 function echoGetSendTimes: integer;stdcall; 代码: type { Invokable interfaces must derive from IInvokable } ISendMedia = interface(IInvokable) [{A5D12FE2-EF42-401C-9C4A-9E4A322E74B4}] function echoSendSM(const SMContent, PhoneNum: String): integer;stdcall; function echogetSendTimes: integer;stdcall; end; 5、SendMediaImpl 中也有接口类型的描述,现在需要增加在 SendMediaInf 定义的函数描述,保持与接口中定义的函数保持同步 type { TSendMedia } TSendMedia = class(TInvokableClass, ISendMedia) Public function echoSendSM(const SMContent, PhoneNum: String): integer;stdcall; function echogetSendTimes: integer;stdcall; end; 6、在 SendMediaImpl 文件中完成函数的实现 function TSendSM.echoSendSM(const SMContent, PhoneNum: String): integer; var Str:pchar; begin Str:=pchar(Send to: [+PhoneNum+] Content:[+SMContent+]); WriteLog(Str); result:=0; end; function TSendSM.echogetSendTimes: integer; begin result:=GetSendTimes; end; var FileHandle:Thandle; SendTimes:integer; //私有函数:写日志前初始化 procedure InitLogFile; var LogFile:String; begin LogFile := C:\SendSM.log; if FileExists(LogFile) then begin FileHandle := FileOpen(LogFile, fmOpenReadWrite); FileSeek(FileHandle,0,2); end else begin FileHandle := FileCreate(LogFile); end; end; //私有函数:写日志 procedure WriteLog(const log: pchar); var logStr:Pchar; begin InitLogFile; logStr:=Pchar(log+#13#10); FileWrite(FileHandle, logStr^, length(logStr)); FileClose(FileHandle); incTimes; end; procedure incTimes; begin inc(SendTimes); end; 7、编译成功,完成SOAP 接口的 SendMedia.dll 的 DLL 文件 二、 将 DLL 文件挂载到 IIS 服务器,并获取 WSDL 文件。 1、安装 IIS 后,打开 Internet 信息服务 2、右击默认网站,新建虚拟目录 3、输入 DLL 存放路径 3、 点击完成。 4、 右击 SendSM 目录

文档评论(0)

199****8042 + 关注
实名认证
内容提供者

相信自己,相信明天

1亿VIP精品文档

相关文档