webmasterskaya / base-soap-lib
Набор базовых классов для построения PHP-SOAP приложения, совместимый с PHP 7.1
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0
- azjezz/psl: ^3.1
- php-soap/engine: ^2.13
- php-soap/ext-soap-engine: ^1.7
- php-soap/wsdl: ^1.12
- psr/event-dispatcher: ^1.0
- symfony/options-resolver: ^5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.65
- vimeo/psalm: ^5.26
This package is auto-updated.
Last update: 2024-12-12 14:04:05 UTC
README
Набор базовых классов для разработки собственного 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"
}
Настройка и запуск
Создание собственного клиента
...скоро будет...
Генерация собственного клиента
...скоро будет...