Delphi SoapServer应用程序

时间:2010-09-01 02:15:25

标签: delphi soap

是否可以将Delphi SoapServer应用程序转换为使用TCP / IP?

3 个答案:

答案 0 :(得分:1)

从您的评论到您的问题,听起来您正在寻找摆脱SOAP,并使用其他东西通过TCP / IP连接进行通信。

可以问的问题是为什么您想通过TCP / IP转换为非SOAP通信吗?

但是可能的答案是:当然这是可能的,有许多应用服务器使用TCP / IP进行通信而不使用SOAP作为其通信协议。

您需要某种协议来进行服务器和客户端之间的通信。你可以自己动手,但是现在正在做你正在做的事情:接收和响应来自客户端的命令(或方法调用)以及在服务器和客户端之间编组数据/对象并不是一项简单的任务。

所以我建议您查看其他用于客户端/服务器通信的远程处理库,例如:

答案 1 :(得分:0)

  

如果你在谈论前德尔福   2009 DataSnap,意思是基于COM   DataSnap,那么你必须使用第三个   层实用程序来进行通信。   名为sockets.exe的实用程序是   包含在Delphi中,并且在   与Delphi相同的目录(计划   文件\\\\仓

     

如果是Delphi 2009或更好,那么   DataSnap具有内置TCP / IP   功能。你用   TDSTCPServerTransporter组件。

更新:Ups!出于某种原因,我确实读过DataSnap SoapServer(既不存在,但我确实想到了Soap Connection)。 Soap Server应用程序需要“服务器”部分,即Web服务器。 SOAP是一种运行在HTTP协议上的技术,所以我认为它不能被“转换”。 DataSnap可以完成这项工作,或者Indy TIdTCPServer或某些派生类。

答案 2 :(得分:0)

正如其他人所说,SOAP只是http / https上的XML,并且通常已经使用了TCP。 也就是说,您可以简单地将其视为原始套接字数据或http数据。即你可以创建一个只使用http POST的客户端将字符串发送到服务器。该字符串将包含XML SOAP请求,并且将被服务器视为SOAP。同样,您可以以非SOAP方式构建服务器,只接受XML并返回XML,并且客户端不会知道差异。

您可以使用Fiddler2来玩这个。您可以构建请求并通过HTTP Post发送它们。服务器不知道您不是SOAP客户端。

克里斯