DELPHI WEBSERVICE

一、服务程序

1.依次选择 NEW -> OTHER -> WEB SERVICE -> SOAP SERVER APPLICATION -> ISAPI DYNAMIC LINK LIBRARY

2.弹出对话框 “CREATE INTERFACE FOR SOAP MODULE?” 选YES

3.IDENTIFIERS->SERVICE NAME 填写接口名称,其他不用修改,选OK

4.自动生成框架并打开XXXIntf.pas接口定义单元文件(XXX为你录入的接口名称,之后为方便描述统一使用MyServiceIntf.pas表述)

5.在MyServiceIntf.pas中定义一个测试链接方法Test  

   IMyService = interface(IInvokable)  

   ['{0A1BDE07-0958-4FA8-BD00-BAEB6394A110}']

       function Test: string; stdcall;

6.打开MyServiceImpl.pas接口实现单元文件,在此文件中实现Test方法

   { TMyWebService }

   TMyWebService = class(TInvokableClass, IMyWebService)
   public
     function Test: string; stdcall;
   end;

   { TMyWebService }

   function TMyWebService.Test: string;

   begin  

     Result := 'Success';

   end;

7.编译DLL

二、客户程序

1.依次选择 NEW -> OTHER -> WEB SERVICE -> WSDL IMPORTER

2.填入WSDL文件路径,一路NEXT直到结束,生成接口定义单元

3.新建EXE程序并包含之前的接口定义单元

4.界面添加TButton和THTTPRIO

   THTTPRIO.WSDLLocation填入WSDL地址,PORT和SERVICE选中相应数据即可

   TButton写入调用代码

   procedure TForm2.btn1Click(Sender: TObject);
   var
     TestOBJ : IMyService;
   begin
     TestOBJ := HTTPRIO1 as IMyService;
     ShowMessage(TestOBJ.Test);
   end;

5.编译运行

原文地址:https://www.cnblogs.com/BlackList-Sakura/p/4013061.html