Delphi 7 调用 C# WebService

我有一支老舊的 Delphi 7 程序具有發送 SMTP 的功能, 功能整合, 需要調用 C# WebService 發送郵件功能,

發現 Delphi 7并不能像 C# 一樣, 添加了 WebService 后就可以直接使用, 而在 Delphi XE 2或5中卻很方便.

可是 Delphi XE 的破解補丁用一段時間失效了, 需要重新安裝系統才能破解.

 

無奈之下, 只好使用 Delphi 7 . 上網查了一些資料, Delphi 7 調用 WebService 需要多寫幾行代碼.

 

一、添加 WebService

點擊菜單 File --> New  --> Other

選擇 WebServices 的 WSDL Importer, 點擊 OK

 

輸入 WebService 的地址, 后面加 ?wsdl

 

點擊 完成 按鈕

 

到此,WebService 添加完成, 專案會自動增加 service1.pas

 

二、修改代碼

在 service1.pas 的最下面, 添加以下一行, 其中 Service1Soap 根據實際名稱不同而不同

InvRegistry.RegisterInvokeOptions(TypeInfo(Service1Soap), ioDocument);

 

添加后的代碼如下:

 

引用 WebService 需要的組件, 申明變量, 初始化后就可以直接調用了,

完整代碼如下:

 

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns,
  service1 in 'service1.pas';

var
  WebService1: Service1Soap;
  mHttpRIO: THTTPRIO;
  webservice_result: string;

begin
  { TODO -oUser -cConsole Main : Insert code here }

  mHttpRIO := THTTPRIO.Create(nil);


  mhttprio.URL := 'http://192.168.1.108:6666/service1.asmx';

  mhttprio.HTTPWebNode.UseUTF8InHeader := true;

  mhttprio.Converter.Encoding := 'UTF-8';

 

  Webservice1 := mhttprio as Service1Soap;

  //調用
  webservice_result := webservice1.SendMail('根據實際需要填寫參數');

 

end.

 

調試運行, webservice_result 就是調用webservice返回的結果.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值