Блог про веб-розробку
SOAP (Simple Object Access Protocol) — це простий протокол заснований на XML, дозволяє обмінюватися інформацією між розподіленими додатками. На практиці можна використовувати для різних завдань. Одні з найпопулярніших це інтеграція додатків із зовнішніми службами. У моєму випадку потрібно інтегрувати веб-додаток системою 1C для отримання актуальної інформації в режимі реального часу з бази даних 1C за запитом користувача на сайті. Насправді SOAP вміє працювати з безліччю протоколів прикладного рівня, серед яких SMTP, FTP, HTTP, HTTPS, а також ін. Спочатку SOAP головним чином призначався для реалізації віддаленого виклику процедур, або як його ще скорочено називають RPC. Сьогодні він використовується довільно для обміну даними у форматі XML.
Базова конфігурація PHP зазвичай не включає такі модулі, і при спробі звертатися до спеціалізованих класів для роботи з SOAP сервером, доводилося спостерігати повідомлення про помилку, щось на зразок цього: Fatal error: Class ‘SoapClient’ not found
Це вже пів справи, тому що ми вже знаємо, що у нас немає класу SoapClient. Щоб ця справа запрацювала, необхідно до інтерпретатора PHP прикрутити модуль Soap Client, який, власне, і дасть можливість працювати з SOAP.
Тут вам знадобиться доступ з правами root на сервер, щоб зробити необхідні операції. Якщо ви користуєтеся хостингом, де у вас немає таких повноважень, то попросіть адміністраторів хостингу, швидше за все їм не важко буде виконати ці операції.
Встановлюємо пакет php soap
Після виконання команди вам буде показана інформація про пакет, який планується встановити в систему, і вас також попросять підтвердити початокустановки:
Після введення команди «y», а це говорить про те, що ви підтверджуєте встановлення, розпочнеться процедура завантаження та встановлення пакета з репозиторію. Після встановлення php soap необхідно так само перезапустити веб-сервер, в нашому випадку це httpd. Це дозволить веб-серверу завантажити зміни в конфігурації.
Перезавантажуємо веб-сервер httpd
Тепер можна перевірити наявність потрібного нам компонента для роботи з SOAP, щоб переконатися, що його встановлено.
Перевіряємо наявність SOAP в PHP
В результаті виконання команди, ви повинні побачити рядок з написом soap, це говорить про те, що він вже є. Крім того перевірити його наявність так само можна, виконавши звернення до класу модуля із самих скриптів, якщо це не важко, якщо скрипти відпрацьовують, то це означає, що бібліотека встановлена.