Releases: php-soap/psr18-transport
Releases · php-soap/psr18-transport
Version 2.0.0
Breaking Changes
- Minimum PHP version is now 8.4 (dropped 8.3)
veewee/xmlupgraded from v3 to v4, which uses PHP 8.4's spec-compliantDom\API
Upgrade Guide
If you wrote custom middleware using XmlMessageManipulator:
The callable passed to $document->manipulate() now receives Dom\XMLDocument instead of DOMDocument:
// Before
$document->manipulate(function (DOMDocument $dom) { ... });
// After
$document->manipulate(function (Dom\XMLDocument $dom) { ... });If you passed custom callables to SoapHeaderMiddleware:
Callable signatures changed from callable(DOMNode): DOMElement to callable(Dom\Node): Dom\Element. If you use SoapHeader from php-soap/xml (as shown in the README), no changes are needed.
If you extended Psr7StreamLoader or Psr7StreamMapper:
Loader::__invoke()no longer takes aDOMDocumentargument; it returnsDom\XMLDocumentMapper::__invoke()parameter changed fromDOMDocumenttoDom\XMLDocument
What's Changed
Full Changelog: 1.8.0...2.0.0
Version 1.8.0
What's Changed
- Update phpunit/phpunit requirement from ^10.0 to ^10.0 || ^11.0 by @dependabot[bot] in #19
- Upgrade PHP project to support PHP 8.5 by @veewee in #21
Full Changelog: 1.7.0...1.8.0
Version 1.7.0
Version 1.6.0
What's Changed
- Update veewee/xml requirement from ^2.2 to ^2.2 || ^3.0 by @dependabot in #17
New Contributors
- @dependabot made their first contribution in #17
Full Changelog: 1.5.0...1.6.0
Version 1.5.0
Version 1.4.0
What's Changed
- Allow psr/http-message 2 by @simoheinonen in #13
- Strip unwanted quotes from soapAction header by @veewee in #15
New Contributors
- @simoheinonen made their first contribution in #13
Full Changelog: 1.3.1...1.4.0
Release 1.3.1
Release 1.3.0
Version 1.2.1
What's Changed
Full Changelog: v1.2.0...1.2.1
v1.2.0
What's Changed
Full Changelog: v1.1.0...v1.2.0
New features
SOAP headers through HTTP middleware
use Http\Client\Common\PluginClient;
use Soap\Psr18Transport\Middleware\RemoveEmptyNodesMiddleware;
use Soap\Xml\Builder\Header\Actor;
use Soap\Xml\Builder\Header\MustUnderstand;
use Soap\Xml\Builder\SoapHeader;
$httpClient = new PluginClient(
$psr18Client,
[
new SoapHeaderMiddleware(
new SoapHeader(
$tns,
'x:Auth',
children(
namespaced_element($tns, 'x:user', value('josbos')),
namespaced_element($tns, 'x:password', value('topsecret'))
)
),
new SoapHeader($tns, 'Acting', Actor::next()),
new SoapHeader($tns, 'Understanding', new MustUnderstand())
)
]
);