Приложение Delphi SoapServer - PullRequest
       0

Приложение Delphi SoapServer

2 голосов
/ 01 сентября 2010

Можно ли преобразовать приложение Delphi SoapServer для использования TCP / IP?

Ответы [ 3 ]

1 голос
/ 01 сентября 2010

Из вашего комментария к вашему вопросу это звучит так, будто вы хотите избавиться от SOAP и использовать что-то еще для связи через TCP / IP-соединение.

Вопрос, который можно задать: Почему вы хотите преобразовать в не-SOAP комм через TCP / IP?

Но ответ на вопрос, возможно ли это: конечно, это возможно, многие серверы приложений используют TCP / IP для связи без использования SOAP в качестве протокола связи.

Вам понадобится какой-то протокол для связи между сервером и клиентами. Вы можете выполнить свою собственную задачу, но выполнение того, что SOAP делает для вас сейчас: получение и реагирование на команды от клиентов (или вызов метода) и распределение данных / объектов между сервером и клиентами не является тривиальной задачей.

Так что я бы посоветовал вам взглянуть на другие удаленные библиотеки для взаимодействия клиент / сервер, такие как:

0 голосов
/ 01 сентября 2010

Как уже говорили другие, SOAP - это просто XML в http / https, и обычно он уже использует TCP.Тем не менее, вы можете просто рассматривать его как необработанные данные сокета или данные http.то есть вы могли бы создать клиент, который просто использует http POST для отправки строки на сервер.Строка будет содержать запрос XML SOAP и будет обрабатываться сервером, как если бы это был SOAP.Аналогично, вы могли бы построить сервер не-SOAP-способом, просто принимая XML и возвращая XML, и клиент не почувствует разницу.

Вы можете использовать Fiddler2, чтобы поиграть с этим.Вы можете создавать запросы и отправлять их через HTTP Post.Сервер не знает, что вы не клиент SOAP.

Крис

0 голосов
/ 01 сентября 2010

Если вы говорите о DataSnap до Delphi 2009, то есть о DataSnap на основе COM, то вам нужно использовать утилиту третьего уровня для связи.Эта утилита с именем sockets.exe включена в Delphi и находится в том же каталоге, что и Delphi (Program Files \\\\ bin

Если это Delphi 2009 или выше, то DataSnap имеет встроенный TCP / IPВы используете компонент TDSTCPServerTransporter.

Обновление: Ups! по какой-то причине я прочитал DataSnap SoapServer (который не существует, но я думал о Soap Connection). Приложению Soap Server требуется сервер ""часть, то есть веб-сервер. SOAP - это технология, работающая по протоколу HTTP, поэтому я не думаю, что его можно было бы" преобразовать ". DataSnap мог бы выполнить эту работу, либо Indy TIdTCPServer или некоторые из производных классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...