Skip to content

Releases: php-soap/psr18-transport

Version 2.0.0

27 Mar 11:21
2.0.0
34dd635

Choose a tag to compare

Breaking Changes

  • Minimum PHP version is now 8.4 (dropped 8.3)
  • veewee/xml upgraded from v3 to v4, which uses PHP 8.4's spec-compliant Dom\ 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 a DOMDocument argument; it returns Dom\XMLDocument
  • Mapper::__invoke() parameter changed from DOMDocument to Dom\XMLDocument

What's Changed

  • Upgrade to veewee/xml v4 and bump minimum PHP to 8.4 by @veewee in #22

Full Changelog: 1.8.0...2.0.0

Version 1.8.0

20 Oct 10:46
1.8.0
fee4be6

Choose a tag to compare

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

25 Oct 08:44
1.7.0
1c0a429

Choose a tag to compare

What's Changed

Full Changelog: 1.6.0...1.7.0

Version 1.6.0

18 Mar 10:22
1.6.0
8ca5e1f

Choose a tag to compare

What's Changed

  • Update veewee/xml requirement from ^2.2 to ^2.2 || ^3.0 by @dependabot in #17

New Contributors

Full Changelog: 1.5.0...1.6.0

Version 1.5.0

24 Nov 07:44
1.5.0
fbb3c39

Choose a tag to compare

What's Changed

Full Changelog: 1.4.0...1.5.0

Version 1.4.0

22 Nov 14:32
1.4.0
65e1fd0

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.3.1...1.4.0

Release 1.3.1

31 Mar 11:45
1.3.1
a3e6627

Choose a tag to compare

What's Changed

Full Changelog: v1.3.0...1.3.1

Release 1.3.0

25 Nov 07:48
v1.3.0
8ae9292

Choose a tag to compare

What's Changed

Full Changelog: 1.2.1...v1.3.0

Version 1.2.1

11 Mar 12:58
1.2.1
67f2147

Choose a tag to compare

What's Changed

  • Remove content-length - let the client deal with this by @veewee and @ro0NL in #8

Full Changelog: v1.2.0...1.2.1

v1.2.0

28 Jan 13:04
v1.2.0
a3ac7b8

Choose a tag to compare

What's Changed

  • Use WSI compliant actions by default by @veewee in #5
  • Add SOAP header middleware by @veewee in #6

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())
        )
    ]
);