Releases: clue/reactphp-soap
v2.0.0
-
Feature / BC break: Update to reactphp/http v1.0.0.
(#45 by @SimonFrings) -
Feature / BC break: Add type declarations and require PHP 7.1+ as a consequence
(#47 by @SimonFrings, #49 by @clue) -
Use fully qualified class names in documentation.
(#46 by @SimonFrings) -
Improve test suite and add
.gitattributes
to exclude dev files from export.
Prepare PHP 8 support, update to PHPUnit 9 and simplify test matrix.
(#40 by @andreybolonin, #42 and #44 by @SimonFrings and #48 by @clue)
v1.0.0
-
First stable release, now following SemVer!
I'd like to thank Bergfreunde GmbH, a German-based
online retailer for Outdoor Gear & Clothing, for sponsoring large parts of this development! 🎉
Thanks to sponsors like this, who understand the importance of open source
development, I can justify spending time and focus on open source development
instead of traditional paid work.Did you know that I offer custom development services and issuing invoices for
sponsorships of releases and for contributions? Contact me (@clue) for details. -
BC break / Feature: Replace
Factory
with simplifiedClient
constructor,
add support for optional SOAP options and non-WSDL mode and
respect WSDL type definitions when decoding and support classmap option.
(#31, #32 and #33 by @clue)// old $factory = new Factory($loop); $client = $factory->createClientFromWsdl($wsdl); // new $browser = new Browser($loop); $client = new Client($browser, $wsdl);
The
Client
constructor now accepts an array of options. All given options will
be passed through to the underlyingSoapClient
. However, not all options
make sense in this async implementation and as such may not have the desired
effect. See alsoSoapClient
documentation for more details.If working in WSDL mode, the
$options
parameter is optional. If working in
non-WSDL mode, the WSDL parameter must be set tonull
and the options
parameter must contain thelocation
anduri
options, wherelocation
is
the URL of the SOAP server to send the request to, anduri
is the target
namespace of the SOAP service:$client = new Client($browser, null, array( 'location' => 'http://example.com', 'uri' => 'http://ping.example.com', ));
-
BC break: Mark all classes as final and all internal APIs as
@internal
.
(#26 and #37 by @clue) -
Feature: Add new
Client::withLocation()
method.
(#38 by @floriansimon1, @pascal-hofmann and @clue)The
withLocation(string $location): self
method can be used to
return a newClient
with the updated location (URI) for all functions.Note that this is not to be confused with the WSDL file location.
A WSDL file can contain any number of function definitions.
It's very common that all of these functions use the same location definition.
However, technically each function can potentially use a different location.$client = $client->withLocation('http://example.com/soap'); assert('http://example.com/soap' === $client->getLocation('echo'));
As an alternative to this method, you can also set the
location
option
in theClient
constructor (such as when in non-WSDL mode). -
Feature: Properly handle SOAP error responses, accept HTTP error responses and do not follow any HTTP redirects.
(#35 by @clue) -
Improve documentation and update project homepage,
documentation for HTTP proxy servers,
support timeouts for SOAP requests (HTTP timeout option) and
add cancellation support.
(#25, #29, #30 #34 and #36 by @clue) -
Improve test suite by supporting PHPUnit 6,
optionally skip functional integration tests requiring internet and
test against PHP 7.2 and PHP 7.1 and latest ReactPHP components.
(#24 by @carusogabriel and #27 and #28 by @clue)
v0.2.0
-
Feature: Added the possibility to use local WSDL files
(#11 by @floriansimon1)$factory = new Factory($loop); $wsdl = file_get_contents('service.wsdl'); $client = $factory->createClientFromWsdl($wsdl);
-
Feature: Forward compatibility with clue/buzz-react v2.0 and upcoming EventLoop
(#9 by @floriansimon1 and #19 and #21 by @clue) -
Improve test suite by adding PHPUnit to require-dev and
test PHP 5.3 through PHP 7.0 and HHVM and
fix Travis build config
(#1 by @WyriHaximus and #12, #17 and #22 by @clue)