一、服务程序
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.编译运行