2010-09-01 33 views
2

是否可以將Delphi SoapServer應用程序轉換爲使用TCP/IP?Delphi SoapServer應用程序

+1

不是*已經*使用TCP?使用其他任何東西都很少見。 – 2010-09-01 03:01:42

+1

它使用肥皂,我只是想知道是否可以使用別的東西而不是肥皂。 – user421379 2010-09-01 03:14:35

+1

它使用基於XML的SOAP協議,它通過http發送這個XML(通信chanell是http)。 http使用下面的TCP/IP。請更具體。也許你想構建自己的嵌入式服務器來處理SOAP? – Runner 2010-09-01 05:35:56

回答

0

如果你在談論前德爾福 2009年的DataSnap,這意味着基於COM 的DataSnap,那麼你必須使用第三方 層實用程序做了溝通。 名爲SOCKETS.EXE效用是 包括德爾福,並在 同一目錄作爲德爾福(計劃 文件\\\\斌

如果是德爾福2009年或更好,那麼 的DataSnap內置了。TCP/IP 功能使用 TDSTCPServerTransporter組件

更新:跌宕由於某種原因,我看過的DataSnap SoapServer的(至極既不存在,但我的確認爲SOAP連接的) SOAP服務器應用程序的需求。 「服務器」部分,意思是一個Web服務器。SOAP是一個te通過HTTP協議運行的chnologie,所以我不認爲它可以被「轉換」。 DataSnap可以完成這項工作,或Indy TIdTCPServer或一些派生類。

+1

'DataSnap <> SoapServer' – mjn 2010-09-01 04:51:31

1

從你的評論到你的問題,這聽起來像你正在尋找擺脫SOAP,並使用其他的東西通過TCP/IP連接溝通。

可以問的問題是爲什麼要轉換爲TCP/IP上的非SOAP通信?

但是是否可能的答案是:當然這是可能的,有許多應用程序服務器使用TCP/IP進行通信,而不使用SOAP作爲其通信協議。

您需要某種服務器和客戶端之間的通信協議。您可以推出自己的產品,但現在正在爲您做什麼SOAP:接收和響應來自客戶端的命令(或方法調用)以及在服務器和客戶端之間編組數據/對象並非輕而易舉的任務。

所以我建議你看一下客戶端/服務器通信的其他遠程通信庫,如:

0

正如其他有他說,SOAP只是http/https上的XML,並且通常已經使用TCP。也就是說,你可以簡單地把它當作原始套接字數據或http數據。即您可以創建一個僅使用http POST向客戶端發送字符串的客戶端。該字符串將包含XML SOAP請求,並且將被服務器視爲SOAP。同樣,您可以以非SOAP方式構建服務器,只需接受XML並返回XML,客戶端就不會知道其中的差別。

你可以使用Fiddler2來玩這個。您可以構建請求並通過HTTP Post發送。服務器不知道你不是一個SOAP客戶端。

Chris