当前位置: 代码迷 >> 综合 >> 编写一个单独的Web Service for Delphi7(步骤)
  详细解决方案

编写一个单独的Web Service for Delphi7(步骤)

热度:56   发布时间:2023-12-21 05:39:40.0
  • 文章来源: csdn
  • 原文作者: testnet [原作]
  • 1新建一个SOAP Server Application,在提示输入接口时输入MyHello,把所有文件
    保存在一个叫Ser的目录下,其中一个包含TWebModule1的文件保存为main.pas.
    在MyHelloIntf.pas的IMyHello接口中加入
    function Welcome(name:string):string;stdcall;  

    在MyHelloImpl.pas中的TMyHello实现此方法
    function TMyHello.Welcome(name:string):string;
    begin
      result:='Welcome '+name;
    end;

    2新建一个标准Application,把所有文件保存在刚才哪个Ser目录下(同一目录).
      文件名默认,在Unit1.pas中Uese IdHTTPWebBrokerBridge,可能还要在工程
    的Search path加入<Delphi7>/Source/Indy  <Delphi7>是Delphi的安装目录
    3在form1上放一个lable,写上"Stand Alone Web Service"
    4在TForm1的private中加入一个变量ser:TIdHTTPWebBrokerBridge;
    5Uses第一步中的main.pas MyHelloIntf.pas MyHelloImpl.pas
    7在OnFormCreate事件上写
      ser:=TIdHTTPWebBrokerBridge.Create(self);
      ser.DefaultPort:=5678;
      ser.Active:=true;
      ser.RegisterWebModuleClass(TWebModule1);
    8运行程序,打开IE,输入http://localhost:5678/.结果大家都想到了

    写Client
    1关闭所有文件.
    2新建一个标准Application
    3运行刚才写的服务器Application
    4运行wsdl import wizard,在URL中输入http://localhost:5678/wsdl/IMyHello
      按Next几次
    5保存所有文件到一个新目录,用Wizard产生的文件保存为IMyHello1.pas,其余默认,在Unit1.pas中uses

    IMyHello1.pas,放一个TButton,写上下面的代码,运行.
    procedure TForm1.Button1Click(Sender: TObject);
    var
      I:IMyHello;
    begin
      I:=GetIMyHello;
      ShowMessage(I.Welcome('black man'));
      I:=nil;
    end;

  相关解决方案