type  loginResponse        = class;                 { "http://server.cdt.com" }
 login                = class;                 { "http://server.cdt.com" }
 login = class(TRemotable)
  private
    FstrDeviceId: WideString;
    FstrDeviceKey: WideString;
  published
    property strDeviceId: WideString read FstrDeviceId write FstrDeviceId;
    property strDeviceKey: WideString read FstrDeviceKey write FstrDeviceKey;
  end;
HTSAPServer = interface(IInvokable)function  login(const parameters: login): loginResponse; stdcall;
initialization
  InvRegistry.RegisterInterface(TypeInfo(HTSAPServer), 'http://server.cdt.com', 'utf-8');  
  InvRegistry.RegisterInvokeOptions(TypeInfo(HTSAPServer), ioDocument); //jia
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(HTSAPServer), '');
  RemClassRegistry.RegisterXSClass(login, 'http://server.cdt.com', 'login');///下面调用login函数出错,谁帮助写一下怎么调用?procedure TForm1.btn1Click(Sender: TObject);
var  lginRse:loginResponse ;
  login1:login;begin   login1:=login.Create ;
   lginRse:=loginResponse.Create ;   login1.strDeviceId :='123456' ;
   login1.strDeviceKey :='1234567890'  ;
    try
      lginRse:=(htpr1 as HTSAPServer).login(login1) ;
      mmo1.Text :=lginRse.return ;
    finally
      login1.Free ;
      lginRse.Free ;
    end;
end;