meng-tian / async-soap-guzzle
基于Guzzle构建的异步SOAP客户端。
v0.4.1
2022-11-21 22:22 UTC
Requires
- php: >=7.1.0
- guzzlehttp/guzzle: ^6.1 || ^7.0
- meng-tian/php-async-soap: ~1.0
- meng-tian/soap-http-binding: ~0.4.0
- psr/http-factory: ~1.0
Requires (Dev)
- laminas/laminas-diactoros: ^2.0
- phpunit/phpunit: ~7.0|~9.3
This package is not auto-updated.
Last update: 2024-09-21 08:10:00 UTC
README
基于Guzzle构建的异步SOAP客户端。`SoapClient` 实现了 meng-tian/php-async-soap。
需求
PHP 7.1 --enablelibxml --enable-soap
安装
composer require meng-tian/async-soap-guzzle
使用方法
从 v0.4.0 或更高版本开始,需要在 `Meng\AsyncSoap\Guzzle\Factory` 中注入 `Psr\Http\Message\RequestFactoryInterface` 和 `Psr\Http\Message\StreamFactoryInterface` 的实例。这两个接口在 PSR-17 中定义,用于创建符合PSR-7的HTTP实例。此更改将使该库与PSR-7和PSR-17的任何特定实现解耦。客户端可以确定他们想要使用哪个PSR-17的实现。可以从 Packagist 找到大量的PSR17实现,例如,`symfony/psr-http-message-bridge` 或 `laminas/laminas-diactoros`。
- 在您的 `composer.json` 中包含此库和PSR-17的实现
... "require": { "php": ">=7.1.0", "meng-tian/async-soap-guzzle": "~0.4.0", "laminas/laminas-diactoros": "^2.0" # this can be replaced by any implementation of PSR-17 }, ...
-
运行
composer install
-
创建您的异步SOAP客户端并调用您的SOAP消息
use GuzzleHttp\Client; use Meng\AsyncSoap\Guzzle\Factory; use Laminas\Diactoros\RequestFactory; use Laminas\Diactoros\StreamFactory; $factory = new Factory(); $client = $factory->create(new Client(), new StreamFactory(), new RequestFactory(), 'http://www.webservicex.net/Statistics.asmx?WSDL'); // async call $promise = $client->callAsync('GetStatistics', [['X' => [1,2,3]]]); $result = $promise->wait(); // sync call $result = $client->call('GetStatistics', [['X' => [1,2,3]]]); // magic method $promise = $client->GetStatistics(['X' => [1,2,3]]); $result = $promise->wait();
许可
此库在 MIT 许可下发布。