摘 要:本文通过使用Delphi和WebServices技术开发短信应用程序的实例详细的介绍了如何在Delphi中开发基于WebServices技术 的应用程序。
关键字:Delphi;WebService;短信应用程序开发
一提起基于WebServices技术的应用程序开发,一般人首先想到的开发工具是VS.net,其实作为快速应用程序开发工具 (RAD)的老大,Delphi从6.0就开始支持WebServices的开发和应用了,本文通过使用Delphi7.0调用新浪发送短信的 WebService进行短信应用程序开发这一实例详细的介绍在Delphi中如何开发基于WebServices的应用系统。
第一 步,准备工作,了解新浪短信WebService。新浪发送短信的WebService地址是http://smsinter.sina.com.cn /ws/smswebservice0101.wsdl,该WebService就只有一个方法,即 stringsendXML(carrier,userid,password,mobilenumber,content,msgtype)。各个参数 全部为string类型,其含义基本如下(可能不正确)。
Carrier:运营商名称,好像可以随便输,建议输入“Sina”,如果 输入其他的值,消息发送的特别慢;
Userid:您在新浪无线上注册的手机ID,如果您没有在http://sms.sina.com.cn 上注册您的手机,你是无法使用本WebService发送短信的;
Password:您在新浪无线上注册手机时所使用的密码;
Mobilenumber:对方的手机号码;
Content:发送短消息的内容;
Msgtype:发送短消息的类型,我估计支持 彩信,不过我不知道怎么使用,似乎随便输什么都可以,我使用的是“Text”。
资费标准请参看新浪无线网站上的相关说明,应该是一条一角钱,不过也或者是一条两角线,具体不太清楚。由于其后台可能使用了消息队列机制, 在繁忙的时候,可能会有较长时间的延迟。
第二步,先 建立一个空白的应用程序。运行Delphi7,打开[File]->[New]->[Application]菜单,Delphi自动生成一 个默认的工程。将默认的窗体Form1改为sms,然后将改工程保存为smsdemo.prj。如下图所示:
图1
http://www.mscto.com
第三步,引入WebService。,打开[File]->[New]->[Other]菜单,在弹出的窗口中选择 WebServicesTab页面,然后选择其中的WSDLimporter选项,单击OK按钮弹出WSDLimporterWizard窗口,如图2所 示。在其上的LocationofWSDLFileorURL中输入:http://smsinter.sina.com.cn/ws /smswebservice0101.wsdl(注意,千万不能输错!),单击Next按钮后,再单击Finishi按钮,完成浪发送短信 WebService的引入。此时工程文件中会增加一个名字为smswebservice0101.pas的文件,这是Delphi自动生成的 WebService引入申明文件,不要手工修改他。
图2 http://www.mscto.com
第四步,调用WebService的短信发送接口。在sms窗体中,依次增加四个TEdit控件,一个TButton控件,一个TMemo控件和五个 TLabel控件,按图3进行排列和设置。
图3 在smsfrm单元的uses语句中包含smswebservice0101,以便改窗体中 能够访问新浪发送短信的WebService接口。
在发送按钮OnClick事件中写入以下代码:
procedureTsms.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对应界面上的反馈。
第五步,使用WebService的短信发送接口进行短信发送。编译、运行 smsdemo.prj,在用户名中输入您在新浪无线上注册的手机ID、密码中输入您在新浪无线上的密码,然后再输入对方的手机号码和消息内容,单击发送 按钮,稍候片刻,在反馈信息框中将会得到该WebService的反馈信息,如果一切正常,系统会提示您短信发送成功。
小结
从上面的例子我们可以看到,只要理解了WebServices的概念,在Delphi的帮助下,开发基于WebServices 的应用程序将不是一件很困难的事情。WebServices最适合用于开发跨平台和跨网络进行通信(因为使用http协议为防火墙所允许)的程序,可以跨 越异质架构,联系客户、供应商、企业伙伴以及企业内部之信息系统,是电子商务B2B、企业信息等集成的最佳解决方案。各个公司只要把商务逻辑“暴露”出 来,成为WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发工具。 WebServices是目前很热门也是正在迅速发展着的一项技术,本文只是作者在学习中的一点小体会,肯定有理解不深刻甚或错误的地方,欢迎大家予以指 正。