我需要为 Linux (CentOS) 编写一个 SOAP 服务。
我需要使用 Lazarus/FreePascal 来做到这一点。该服务需要是在后台运行的二进制(守护程序)。
问题: 1. 这可能(作为独立的可执行文件)吗?2. 如果没有,有什么替代方案?3. 我该如何开始?4. 我需要哪些额外的工具/库?
我需要为 Linux (CentOS) 编写一个 SOAP 服务。
我需要使用 Lazarus/FreePascal 来做到这一点。该服务需要是在后台运行的二进制(守护程序)。
问题: 1. 这可能(作为独立的可执行文件)吗?2. 如果没有,有什么替代方案?3. 我该如何开始?4. 我需要哪些额外的工具/库?
我可以回答你的一些观点,因为我是自己做的:
[fpc-source-dir]/packages/fcl-base/example/daemon.pp
和下面的例子[lazarus-dir]/examples/cleandir/*
希望能帮助到你。
这可以通过 wst 和 synapse 或 indy 实现。wst 也已包含在您的 Freepascal 下载中。也有一些样品,看看它们。
我用 wst + freepascal 创建了几个肥皂服务。您可以选择让他们使用自己的网络服务器(因此他们只监听某个端口,允许简单的调试)或创建一个您可以在 Apache 或 IIS 中使用的 cgi 模块。您还可以通过切换一些参数或包含一些其他文件来创建 Windows 服务或 linux 守护程序。
如果你是第一次这样做并不容易,但肯定有可能。
这看起来很有希望,至少作为一个开始。
SOAP 是一种语言中性规范,因此理论上您可以使用任何语言进行编码。但是出于您的目的,如果您无法在 pascal 中找到可以执行 grunt 工作的库,那么您最好使用任何其他可以执行此操作的语言。除非您特别想在 WSDL 的兔子洞中绕道而行,否则不要去那里。
帕斯卡真的是一个要求吗?
否则,您可以用 Java 编写 SOAP 服务,那么您的服务将与平台无关。唯一的要求是 JRE,并且 JRE 可用于任何平台,因此它可以在所有 Linux 风格、Windows、Mac OsS、Solaris 等上完美运行
也有很多框架用于在 Java 中执行 SOAP。
Pascal 也可以在 Linux 和 Windows 上运行,只需稍作调整,但我不知道现有的用于 Pascal 的良好 SOAP 框架。
我只会使用 Indy,以及谷歌搜索产生的任何 Delphi 肥皂库。如果没有十几个,我会感到惊讶。