Delphi 调用webservice接口
一、使用向导
1.导入wsdl文件:file--new----other----webservice---WSDLimporter---输入wsdl地址
http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
完成之后,即可导入wsdl文件。
注:结尾处的'?wsdl'不能少。
2.在导入的wsdl文件中手动添加部分注册代码:
InvRegistry.RegisterInterface(TypeInfo(qqOnlineWebServiceSoap), 'http://WebXml.com.cn/', 'utf-8'); InvRegistry.RegisterInvokeOptions(TypeInfo(qqOnlineWebServiceSoap),ioDocument);//此处必须手动添加,delphi无法自动生成 InvRegistry.RegisterDefaultSOAPAction(TypeInfo(qqOnlineWebServiceSoap), 'http://WebXml.com.cn/qqCheckOnline');
3.调用代码
var statusQuery:qqOnlineWebServiceSoap; qqNumber:string; statusStr:string; begin statusQuery:=GetqqOnlineWebServiceSoap; qqNumber:='516220662'; statusStr:=statusQuery.qqCheckOnline(qqNumber); ShowMessage(statusStr); end;
4.运行结果:
PS:直接浏览器访问
a) http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx
b)输入QQ号进行测试:
c)调用结果:
二、使用HTTPRIO控件
1.在界面上拖放一个HTTPRIO控件
2.设置url属性
http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
3.调用代码
var statusStr:string; begin statusStr:=(HTTPRIO1 as qqOnlineWebServiceSoap).qqCheckOnline('516220662'); ShowMessage(statusStr); end;
4.运行结果