Delphi 7 中使用Indy创建独立的 Web Services/SOAP 服务器(三)

创建NT服务形式的MySOAPService.exe

首先完成前面的服务程序,因为需要用到前面的源代码,然后按下面步骤进行:


点菜单File --> New --> Other,在new标签面板中选择Service Application图标,点OK

在Service1窗口中,按F11激活对象观察器,选择Properties页,将Name属性从Service1改为MyService。


点击菜单Project --> Add To Project,选择前面建立的文件MyWebModuleU.pas点OK

同样操作加入文件MySOAPWebServiceIntf.pas和MyAppServerSoapDataModuleU.pas。


点菜单View --> Project Manager,打开工程管理器,展开Project(n).exe,展开Unit1,

双击Unit1.pas,在interface部分uses加入IdHTTPWebBrokerBridge。

  uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
    IdHTTPWebBrokerBridge;

在TService1 声明中加入私有变量FWebBrokerBridge:

  private
    FWebBrokerBridge: TIdHTTPWebBrokerBridge;

在 implementation部分uses中加入MyWebModuleU

  {$R *.DFM}
  uses
    MyWebModuleU;

点菜单View --> Project Manager,打开工程管理器,双击 MyService,按F11激活对象观察器,选择Event标签,

双击OnStart事件,ServiceStart过程中加入下面代码:

  // Create server.
  FWebBrokerBridge := TIdHTTPWebBrokerBridge.Create(Self);
  // Register web module class.
  FWebBrokerBridge.RegisterWebModuleClass(TMyWebModule);
  // Set default port.
  FWebBrokerBridge.DefaultPort := 1024;
  // Start server.
  FWebBrokerBridge.Active := True;

同样在OnStop事件的ServiceStop方法中加入下面代码:

  // Stop server.
  FWebBrokerBridge.Active := False;
  // Free server component.
  FreeAndNil(FWebBrokerBridge);

点菜单File --> Save Project As进行保存

Unit1 命名为MyServiceU.pas

Project(n)命名为MySOAPService.dpr

点菜单Project --> Build MySOAPService.


注册Windows服务:

点菜单Run --> Parameters,在Parameters中输入: /install,点OK

点菜单Run --> Run.(应该会提示服务安装成功),再点OK

点菜单Run --> Parameters,将参数清空,点OK

按Ctrl-Shift-S组合键保存所有。


然后在Window的控制面板-管理工具-服务,可以开启服务(如果之前的MySOAPServer.exe仍在运行,请结束,否则会占用端口)。
Do a View --> Project Manager,
   Double-click on the MyService entry.
   Press the [F11] key for the Object Inspector.

你可能感兴趣的:(Delphi 7 中使用Indy创建独立的 Web Services/SOAP 服务器(三))