Здравствуйте!
Недавно, разрабатывая модуль отображения продуктов из 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 лицензией