• delphi调用webservice 转


     

     
    如今 Web Service 已越来越火了,在DotNet已开发的Web Service中,Delphi 7如何方便的调用DotNet写的Web Service呢?
    方法有两种,一种是在Delphi 7中WSDLImp工具将DotNet写的Web Service转化为Interface 单元文件,另一种方法是用MS 提供的 Microsoft Soap Toolkit(MSST) 工具。
    下面是用WSDLImp工具调用C# 写一个简单的 Web Service:
    启动 VS.Net工具,在C#项目中,选择 ASP.Net Web服务,在代码中写入
    [WebMethod]
      public double add(double s1, double s2)
      {
        return s1+s2;
      }
    生成配件后,在IE 中输入  http://localhost/ASPNETWS/Service1.asmx
    会看到 有一个 add 的链接,点击进入,并调用测试:
    如,输入 s1为 34, s2为 235.34 调用后为
    <?xml version="1.0" encoding="utf-8" ?>
      <double xmlns="http://tempuri.org/">269.34000000000003</double>
    输入 http://localhost/ASPNETWS/Service1.asmx?WSDL,可看到WSDL单元
    测试成功后,在Delphi 7的Bin目录找到 WSDLImp.exe工具,并拷到一处,
    在 命令提示符 中输入 WSDLImp http://localhost/ASPNETWS/Service1.asmx?WSDL
    会在当前目录中生成一个 Service.pas 文件,这就是要在Delphi中使用的Interface文件。
    启动Delphi 7,新建 Application工程,放入一个TButton组件;
    在uses 中加入 InvokeRegistry, Rio, SOAPHTTPClient, Service1;
    procedure TForm1.btn_CShapWSClick(Sender: TObject);
    var
        WSResult: Double;
        WSIServer: Service1Soap;
    begin
      WSIServer:= GetService1Soap(true,'',HTTPRIO1);
      WSResult:= WSIServer.add(23,342.234);
      showmessage('WSResult: '+ FloatToStr(WSResult));
    end;
  • 相关阅读:
    Ambient Intelligence in Networked Society
    如何定位问题及如何区分前后端BUG
    接口测试-结合Postman的使用
    Selenium的PageObject设计模式(2)
    Selenium的PageObject设计模式(1)
    Git+Pycharm 分布式版本管理
    php中不用内置函数实现字符串转整形
    mysql中case使用
    快速排序
    魔术方法__sleep(),__wakeup()
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/3254588.html
Copyright © 2020-2023  润新知