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.运行结果

        

posted @ 2012-08-17 17:48  edisonfeng  阅读(32968)  评论(4编辑  收藏  举报