摘 要:本文通过使用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。如下图所示: 图1 第三步,引入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引入申明文件,不要手工修改他。 图2 第四步,调用Web Service的短信发送接口。在sms窗体中,依次增加四个TEdit控件,一个TButton控件,一个TMemo控件和五个TLabel控件,按图3进行排列和设置。 图3 在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是目前很热门也是正在迅速发展着的一项技术,本文只是作者在学习中的一点小体会,肯定有理解不深刻甚或错误的地方,欢迎大家予以指正。 |