Использование службы данных ADO.NET из приложения WIN32 Delphi. Как? - PullRequest
1 голос
/ 09 июля 2009

Simple. Я создал модель сущности LINQ-TO-SQL, создал веб-сайт, добавил службу данных (* .svc) и убедился, что она работает, написав простое консольное приложение .NET. Сервис работает нормально и не может быть изменен.

Теперь я собираюсь написать приложение Delphi (2007) для WIN32, которое должно будет вызывать эту службу данных. И хотя у Delphi нет серьезных проблем с импортом службы SOAP, она не может импортировать эту службу, поскольку она не предоставляет WSDL ...

Итак, два варианта. Я мог бы выяснить, как сгенерировать WSDL на основе этой службы данных, или мне нужно будет найти другой способ использования этой службы. (Или просто сдаваться, но я не хочу бросать этот вызов.) Так что, любой совет?

Ответы [ 3 ]

1 голос
/ 10 июля 2009

Службы данных ADO.NET являются REST службами. Они не являются SOAP WebServices, и я не думаю, что REST использует WSDL. Вы можете вызывать REST-сервисы из Delphi, используя HTTP GET / PUT / POST / DELETE. Вы можете использовать Indy's TIdHTTPClient. См. http://msdn.microsoft.com/en-us/library/cc668786.aspx для примеров URL. Результаты представлены в формате Atom , который является форматом XML. Вы можете разобрать это с TXMLDocument. Они также могут вернуть JSON .

1 голос
/ 10 июля 2009

Может быть, вы можете использовать компоненты проекта "Джедай" для использования сервиса. Мне удалось получить данные в реальном времени, используя их в прошлом. Я не знаю точно, как работает ваша установка, но, возможно, они могут быть полезны.

http://www.delphi -jedi.org /

0 голосов
/ 10 июля 2009

Вы также должны взглянуть на synapse , небольшую простую в использовании библиотеку, которая хорошо работает с REST. Последняя версия, которую можно загрузить через SVN, хорошо работает в Delphi 2009.

...