Блог за уеб разработка

SOAP (Simple Object Access Protocol) е прост XML базиран протокол, който ви позволява да обменяте информация между разпределени приложения. На практика може да се използва за различни задачи. Една от популярните е интеграцията на приложения с външни услуги. В моя случай беше необходимо да се интегрира уеб приложението със системата 1C, за да се получи актуална информация в реално време от базата данни 1C по искане на потребителя на сайта. Всъщност SOAP може да работи с много протоколи на ниво приложение, включително SMTP, FTP, HTTP, HTTPS и др. Първоначално SOAP беше предназначен главно за прилагане на извиквания на отдалечени процедури или както се нарича накратко RPC. Днес се използва произволно за обмен на данни в XML формат.

Базовата конфигурация на PHP обикновено не включва такива модули и когато се опитвате да получите достъп до специализирани класове за работа със SOAP сървър, ще видите съобщение за грешка, подобно на това: Фатална грешка: Класът „SoapClient“ не е намерен

Това вече е половината битка, тъй като вече знаем, че нямаме клас SoapClient. За да работи това нещо, трябва да прикачите модула Soap Client към PHP интерпретатора, което всъщност ще направи възможна работата със SOAP.

Тук ще ви трябва root достъп до сървъра, за да извършите необходимите операции. Ако използвате хостинг, където нямате такива правомощия, попитайте администраторите на хостинга, най-вероятно няма да им е трудно да извършат тези операции.

Инсталирайте php soap пакет

След изпълнение на командата ще ви бъде показана информация за пакета, който се планира да бъде инсталиран в системата, и ще бъдете помолени да потвърдите стартиранетонастройки:

След въвеждане на командата “y”, която показва, че потвърждавате инсталацията, ще започне процедурата по изтегляне и инсталиране на пакета от хранилището. След като инсталирате php soap, трябва да рестартирате и уеб сървъра, в нашия случай това е httpd. Това ще позволи на уеб сървъра да зареди промените в конфигурацията.

Рестартирайте httpd уеб сървъра

Сега можем да проверим наличието на SOAP компонента, от който се нуждаем, за да сме сигурни, че е инсталиран.

Проверка за SOAP в PHP

В резултат на командата трябва да видите ред с надпис "сапун", това показва, че вече е там. Освен това можете също да проверите присъствието му, като извикате класа на модула от самите скриптове, ако това не е трудно, ако скриптовете работят, това означава, че библиотеката е инсталирана.