Может ли Delphi 2009 создать веб-сервис, который возвращает DataSet? - PullRequest
2 голосов
/ 04 февраля 2009

В примерах учебников по веб-сервису Delphi, которые я прочитал, они, как правило, создают веб-сервис, который возвращает простую строку или целое число, например

http://blogs.codegear.com/pawelglowacki/2008/12/18/38624

Однако я прочитал, что в .NET можно создать веб-сервис, который возвращает DataSet или даже объект. Возможно ли это в Delphi 2009, и если да, где я могу найти дополнительную информацию по этому вопросу?

Кроме того, что вы думаете об инструментах для создания веб-сервиса между Delphi и .NET?

Ответы [ 4 ]

1 голос
/ 04 февраля 2009

Delphi 2009 имеет полную поддержку для возврата классов и наборов данных из веб-сервисов. Datasnap - это фреймворк, поддерживающий наборы данных, вы можете найти дополнительную информацию в этом видео Ника Ноджеса, менеджера по продуктам Delphi, в этом техническом документе Марко Канту (документ, извлеченный из его книги Справочник Delphi 2009 ”и этот код Бруно Лихота.

1 голос
/ 04 февраля 2009

ОК, пожалуйста, дайте мне знать, если верно следующее:

DataSnap 2009 может передавать наборы данных, но не поддерживает связь через веб-сервис. т.е. и клиент, и сервер должны быть написаны на Delphi 2009?

Обычный старый DataSnap может передавать наборы данных с помощью веб-службы, но требует COM?

Итак, следующий вопрос: что будет использоваться для использования набора данных, возвращаемых веб-службой?

1 голос
/ 04 февраля 2009

Да, это возможно; Вы можете сделать это с помощью DataSnap Delphi с SoapConnection. DataSnap - это многоуровневое решение Delphi. В Delphi 2009 он увидел серьезное обновление и назвал DataSnap 2009, но DataSnap 2009 пока не поддерживает некоторые функции старого DataSnap, например использование WebServices для связи. Хорошей новостью является то, что более старый DataSnap все еще доступен в Delphi 2009, и вы не обязаны использовать DataSnap 2009.

0 голосов
/ 05 февраля 2009

Насколько я знаю, клиенты .Net и Java также могут обращаться к серверу DataSnap 2009.

Старый DataSnap не использует COM для SoapConnection, но COM используется для других типов соединений (например, сокетное соединение).

Итак, следующий вопрос: что использовать для использования возвращенного набора данных через веб-сервис?

На стороне сервера вы можете разместить DatasetProviders, которые подключаются к элементам управления набором данных и предоставляют наборы данных для клиентов. На стороне клиента ClientDataset используется для получения данных, предоставленных DatasetProviders на сервере.

...