Интеграция веб-приложений с TerrasoftCRM

Здравствуйте!

Недавно, разрабатывая модуль отображения продуктов из TerrasoftCRM на сайте Заказчика, я решил попробовать проинтегрироваться с Веб-сервисами :)
Конечно, доставать данные напрямую из базы проще, но имея класс для интеграции с Веб-сервисами TerrasoftCRM, мы уже можем говорить о полноценной интеграции на уровне приложений! Вот и решил я написать такой класс :)

Язык программирования PHP ( >= 5.2.0 )
Представляю Вашему вниманию первые наработки в этом направление (будет востребовано - продолжу разработку).

Как же без примеров :)

Создаем объект и заполняем переменные:

$ws = new itsTerrasoftWS();
$ws->set_Host('http://10.10.10.10:81/crm/TSWebServicesServerLibrary.dll/wsdl/IServer');
$ws->set_Username('Supervisor');
$ws->set_MaxPackageSize($ws->get_MaxPackageSize() - 558);
$ws->set_wsClient();

Получаем маcсив с доступными конфигурациями:

$wsConfigurations = $ws->get_wsConfigurations();

Устанавливаем Соединение:

$ws->set_Configuration($wsConfigurations[1]);
$ws->OpenConfiguration();

Создаем XML-ый запрос и выполняем:

$SQL = "select [OfficialAccountName] from tbl_Account where ID = :AccountID ";

$ws->CreateXML($SQL);

$ws->CreateParam();
$ws->AddDBParam("AccountID", "1", "1", "0", "{DFC26A8C-C284-4FBF-9DE2-39E8D77F1915}");

$ws->ExecuteSQL();

Получаем XML-ый ответ, выводим и закрываем соединение

$xml = DOMDocument::loadXML( $ws->get_XMLResult() );
$params = $xml->getElementsByTagName('R');
$k=0;
foreach ($params as $param)
{
   echo $params->item($k)->getAttribute('F0')."
"
;
   $k++;
}
$ws->CloseConfiguration();

Надеюсь, что мой труд кому-то еще пригодится :)

Код класса itsTerrasoftWS выкладываю под MIT лицензией

Нравится

Поделиться

18 комментариев

Осторожно, как бы там диалоговое окно случайно не выскочило.
Еще могут быть проблемы ести террасофт где-то течет по памяти. Да и по скорости думаю не самый оптимальный вариант.

Вы работали с веб-сервисами Terrasoft?

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Добрый день, Виталий!



Отличная новость. Уверен что многим участникам Community это поможет в реализации Web интерфейса.



По поводу окон, и остальных комментариев Underscore a.k.a. _. К счастью Вы ошибаетесь. Все эти вопросы не проблемы для наших Web сервисов, хотя есть другие вопросы.

Да, Сергей, не все там еще учтено... это пробные наработки, но уже работоспособны! :)
Вот пример:
http://community.terrasoft.ua/blogs/3522

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Прошу прощения, я почему-то упустил, что это WEB-сервисы :)

"Underscore a.k.a. _" написал:Прошу прощения, я почему-то упустил, что это WEB-сервисы :)

Интересно, а что тогда? :)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Я думаю что Underscore a.k.a. имел в виду, что в принципе можносуществует и еще два варианта

  1. Работа с БД напрямую (что в этом случае схоже с Web сервисам)
  2. Работа с COM объектами Terrasoft, но тут могут возникнуть вопросы с PHP, и те проблемы, о которых писал Underscore a.k.a.

Понятно...
я же просто думаю о клиентах с UNIX-хостингом :)
Работать на прямую с базой хорошо, но когда база и хостинг на разных серверах... Появляется много вопросов о безопасности прямых запросов и защите.

А Web-сервисы - это HTTPS ;)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Относительно

"Карло Сергей" написал:Работа с COM объектами Terrasoft

Тогда (как и с ASP.NET) мы опять себя ограничиваем только Windows-хостингом

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Конечно же, у каждого конкретного варианта есть свои плюсы и минусы.

"Карло Сергей" написал:Работа с COM объектами Terrasoft

Я действительно подумал об этом. Какие же диалоги, если работаем с WEB-сервисом.

Продолжая тему OpenSource :)
Открыт доступ к SVN данного класса! Все желающие всегда смогут скачать последнюю версию:

https://it-sfera.com/svn/itsPHPts/

Если Вы используете в своих PHP решениях интеграцию с веб-сервисами Terrasoft и хотите помочь в развитие данного класса - обращайтесь в личку, открою для Вас полный доступ к данному SVN ;)

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Спасибо за пример.

Вопрос скорее к сотрудникам Terrasoft.

Скажите, а подобное подключение потребует отдельной лицензии?

Открывая конфигурацию используя веб-сервисы Террасофт, Вам необходимо указать пользователя лицензированного в Террасофт...

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Пример для последней версии класса.

--
www.it-sfera.com.ua
Terrasoft Solution Partner

"Виталий Ковалишин" написал:example.zip 2.37 кб

Что-то этот файлик уже не доступен, да и ссылка на SVN на работает...

Коллеги приветствую,

Неможем скачать example.zip.
Продолжение по ссылке: http://www.community.terrasoft.ru/forum/topic/11126#comment-50135

Спасибо

Показать все комментарии