Delphi 2010 调用WebService接口

Delphi 调用WebService接口

此测试程序使用Delphi2010编写

打开Delphi2010

一、File-> New-> Application 新建一个工程

在窗体上放置三个 Button按钮,一个ComboBox,两个Edit,  一个Memo和一个HTTPRIO

二、到File-> New-> Other-> WebServices-> WSDL importer 

在打开的WDSL对话框,在Location of WSDL File or URL:

填写WSDL地址http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

Next>> Next>> Next>>Finish

之后系统会自动根据WSDL地址生成可以调用的单元文件WeatherWS.pas ,如下图

三、在HTTPRIO控件,设置URL属性http://ws.webxml.com.cn/WebServices/WeatherWS.asmx

四、在主窗体引用生成的WeatherWS.pas

五、编写按钮事件

第一个,获取省份,调用函数不用参数

procedure TFormMain.tbrCheLiangItems0Click(Sender: TObject);

var

  pras : ArrayOfString;

  i : Integer;

begin

  pras := (htpr as WeatherWSSoap).getRegionProvince;

  for i:= Low(pras) to High(pras) do

  begin

    cbb.Items.Add(pras[i]);

  end;

end;

第二个,获取当前省份里的城市名称,调用函数需要一个参数:省份名称,如北京 或 河北

procedure TFormMain.tbrCheLiangItems1Click(Sender: TObject);

var

  cityweather : ArrayOfString;

  t : string;

   i: Integer;

begin

  cityweather := (htpr as WeatherWSSoap).getSupportCityString(edt.Text);

  for i := Low(cityweather) to High(cityweather) do

  begin

    t := cityweather[i];

    mmo.Lines.Add(t);

  end;

end;

第三个,获取天气,调用函数需要两个参数:城市代码 和 用户ID(需要注册获取)

用户ID在ws.webxml.com.cn网站,注册登录后在会员专区里可以查看,并且申请试用此接口的权限,5天测试时间。

procedure TFormMain.tbrCheLiangItems2Click(Sender: TObject);

var

  cityweather : ArrayOfString;

  t : string;

   i: Integer;

begin

  cityweather := (htpr as WeatherWSSoap).getWeather(edtCity.Text,'fb5d2d13926c40c28cfb07cdba220589');

  for i := Low(cityweather) to High(cityweather) do

  begin

    t := cityweather[i];

    mmo.Lines.Add(t);

  end;

end;

六、编译,执行!

此示例是根据https://blog.csdn.net/heihei122/article/details/7975574所制作。

因www.webxml.com.cn的服务主机地址变更,原示例直接操作下来不能正常编译和执行,故写此流程。

自己做个记录,方便以后查看。

如需源码,请发站内信,留下你的邮件地址。

写得不好请见谅。
————————————————
版权声明:本文为CSDN博主「JerrySmurfs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jinglinggg/article/details/85209764

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi是一种编程语言,可以用来开发各种类型的应用程序,包括调用Web服务。在Delphi调用Web服务,可以使用Delphi内置的SOAP组件来实现。 首先,需要在Delphi中创建一个新的SOAP客户端。打开Delphi开发环境,选择"文件" -> "新建" -> "其他" -> "SOAP客户端应用程序"来创建一个新的SOAP客户端项目。 在新建的SOAP客户端项目中,可以在"工具"菜单下找到"导入WSDL..."选项。通过选择该选项并选择要调用的Web服务的WSDL文件,可以自动生成相应的接口和实现代码。 在生成的代码中,可以看到WebService组件的初始化代码、接口定义和具体的方法实现。根据WebService的要求,可以在接口定义中添加需要的输入参数和返回值,并在方法实现中编写相应的业务逻辑。可以调用WebService的方法来实现与Web服务的交互。 接下来,可以根据自己的需求调用WebService的方法。可以在程序的适当位置,通过创建WebService组件对象并调用相应的方法来实现对Web服务的调用。可以传递参数给Web服务,并获取返回的结果。 在调用WebService的方法之前,需要确保已经建立了与Web服务的连接。可以调用WebService组件的Connect方法来建立连接,调用Disconnect方法来断开连接。 在调用WebService的过程中,还可以处理异常,以确保程序在发生错误时能够正常处理。可以使用try...except块来捕获并处理异常,通过处理异常可以提示用户发生了什么错误,并采取相应的措施。 总结而言,通过使用DelphiSOAP组件,可以方便地实现对Web服务的调用。在创建SOAP客户端项目、生成接口和方法实现代码后,可以根据需要调用WebService的方法,传递参数并获取返回值。同时,还需要处理异常,以确保程序的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值