2011-12-21 2 views
5

Я искал способ, чтобы программа Delphi обменивалась данными с сервисом RoR. Я мог бы использовать любую из SOAP-библиотек, например: ActionWebService, чтобы предложить SOAP-сервис, который я мог бы использовать в программе Delphi.Подключиться к ActiveResource/ActiveRecord с клиентом Delphi

Однако для этого требуется переопределить все методы ActiveRecord (например, find) снова и снова. Это хлопот, даже если это всего лишь методы делегирования.

Кто знает более простой/простой/чистый способ?

ответ

0

RoR использует REST и MVC design paterns, это означает, что вам нужен только HTTP-клиент и библиотека XML или JSON. Предлагаю вам посмотреть это видео, чтобы понять, как он работает. http://www.youtube.com/watch?v=YCcAE2SCQ6k

Вы можете продолжать использовать существующие контроллеры, вы просто должны поставить «приложения/JSON» в «Content-Type» заголовок HTTP для отправки данных и добавить .json вместо .html, чтобы получить JSON данные, а не HTML ,

+0

Я знаю, что он использует REST и MVC. Однако то, что я ищу, похоже на привязки для SOAP, но затем для ActiveRecord/ActiveResource. –

1

Нет таких привязок, REST не протокол, а просто соглашение по http. Я знаю о порте activeresource для Java http://jactiveresource.org/, но для delphi такого нет. Но вы можете посмотреть источники jactiveresource и попробовать развить свою собственную функциональность. Но вы также можете создать клиент для отдыха и обернуть его с помощью методов, которые вам нужны, и нестиализовать ответы на объекты. Вот краткий пример http://dn.embarcadero.com/article/40449

+0

Спасибо. Это действительно показывает, как создать клиент REST. Тем не менее, я заинтересован в сохранении работы, имея что-то вроде упомянутого вами JActiveResource. –

+0

Извините, но я даже не слышал такого решения для delphi. Во всяком случае, удачи! – Fivell