О web-разработке
и даже немного больше...

Использование SOAP в PHP

Рассмотрим пример, как использовать SOAP в PHP. Использование SOAP в PHP может показаться трудным, и неудобным, однако немного разобравшись, вы сразу же поймете что это не так. Если у вас возникла необходимость воспользоваться протоколом SOAP, то данный пример вам будет в помощь.

Перед использованием классов SOAP библиотека должна быть предварительно подключена в PHP. Как установить PHP Soap на сервер CentOS Linux ранее уже был пост об этом. Приступим непосредственно к примеру.

В нашем примере есть некий удаленный сервер SOAP, к которому мы будем обращаться с нашего PHP — скрипта. Нам необходимо заполучить какие-либо данные, со стороны сервера SOAP. Традиционно SOAP предназначался для реализации RPC (удаленный вызов процедур). Это говорит о том, что чтобы получить какие-то данные, на другой стороне мы будем иметь дело с чем-то вроде функции, к которой будем обращаться по имени, отправляя предустановленные параметры. В качестве успешного выполнения мы будем получать данные в виде объекта. С объектами мы так же можем привычно работать в PHP, что весьма удобно.

<?
// проверяем наличие класса SoapClient
if (class_exists('SoapClient')){
	
	// отключаем кэширование
	ini_set("soap.wsdl_cache_enabled", "0" );
	
	// подключаемся к серверу
	$client = new SoapClient(
			"http://localhost/test/ws/ws1.1cws?wsdl",
			array(
				"soap_Login", // логин
				"soap_password" // пароль
			)
		);

	// обращаемся к функции, передаем параметры
	$result = $client->GetOrderInfo( array('OrderCode' => '20001827') );
	
	if ($result->return){

		// обращаемся к данным в виде объектов
		echo
			'Product: ' . $result->return->cmp->ProdName . '<br>' .
			'Amount'    . $result->return->cmp->Amount .
			'Price'     . $result->return->cmp->Price;

	} else echo "Не удалось получить данные!";
} else echo "Включите поддержку SOAP в PHP!";
?>

Как видно из примера ничего космического. Сперва мы подключаемся к серверу, для этого при создании объекта класса SoapClient мы передаем три параметра: URL сервера, логин и пароль. Далее обращаемся к функции, в нашем случае она называется GetOrderInfo, именоваться она может как угодно, и принимать различные параметры. Находиться данная функция на стороне SOAP сервера. В примере мы передаем на сервер код, по которому нам должен вернуться объект с данными. Далее мы просто выводим эти данные. Этот пример прост, и он больше для демонстрации обмена данными между PHP-скриптом и SOAP сервером. В действительности объемы отправляемых параметром, и принимаемых данных может быть значительно больше, но это уже дело архитектурной сложности системы, и у каждого она своя.

Опубликован: 09.10.2016 г.

См. также:

Редакторы кода для PHP
Как просмотреть время загрузки страницы в PHP?
Генерация QR-кода в PHP
Загрузка файлов на сервер посредством Ajax
Импорт записей из Excel в WordPress
Парсинг XML в PHP
Установка IonCube на XAMPP
Создание PDF файлов в PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта