webmasterskaya/base-soap-lib

Набор базовых классов для построения PHP-SOAP приложения, совместимый с PHP 7.1

1.0.0 2024-12-12 13:17 UTC

This package is auto-updated.

Last update: 2024-12-12 14:04:05 UTC


README

English version

Набор базовых классов для разработки собственного SOAP клиента. Этот пакет помогает решить некоторые распространенные проблемы интеграции SOAP в PHP.

В состав проекта уже включены классы \Webmasterskaya\Soap\Base\Client и \Webmasterskaya\Soap\Base\ClientFactory, готовые к запуску простого SOAP приложения.

Это реализация поверх php-soap. Для более продвинутой настройки вы можете ознакомиться с документацией пакетов в проекте php-soap.

Установка

composer require webmasterskaya/base-soap-lib

Простой пример использования

Note

Для тестирования будем пользоваться demo SOAP APIs https://www.postman.com/cs-demo/public-soap-apis

// Получаем экземпляр Client из ClientFactory передав ссылку на wsdl файл
$wsdlPath = 'https://www.dataaccess.com/webservicesserver/NumberConversion.wso?wsdl';
$client   = \Webmasterskaya\Soap\Base\ClientFactory::create($wsdlPath);

// Запрос должен быть объектом, который реализует RequestInterface
// Для демонстрации работы, мы создадим анонимный класс с необходимыми полями
$request = new class(300) implements \Webmasterskaya\Soap\Base\Type\RequestInterface {
    public function __construct(
        private readonly int $dNum
    ) {
    }
};

// Обращаемся к методу SOAP API, передав имя вызываемого метода и подготовленный объект запроса.
/** @var \Webmasterskaya\Soap\Base\Type\MixedResult $response */
$response = $client->call('NumberToDollars', $request);

// Проверяем результат
var_dump($response->getResult());

В ответе вы должны увидеть

object(stdClass)#50 (1) {
  ["NumberToDollarsResult"]=>
  string(21) "three hundred dollars"
}

Настройка и запуск

Создание собственного клиента

...скоро будет...

Генерация собственного клиента

...скоро будет...