Version 0.6.0
Total issues resolved: 5
- 56: Client generator
- 61: Adding return types
- 77: Replace guzzle with httplug
- 80: Fix Issue #26 Strict Typing
- 101: Update assembler documentation
Migrating from 0.5.* to 0.6.0
Interface changes
Following interfaces have been changed, these need to be updated in your implementation:
\Phpro\SoapClient\CodeGenerator\Assembler\AssemblerInterface::canAssemble
now requires a strict bool return type\Phpro\SoapClient\CodeGenerator\Assembler\GetterAssembler::__construct
now requires an instance of GetterAssemblerOptions\Phpro\SoapClient\Client::call
now requires a strict return type of ResultInterface\Phpro\SoapClient\Client::call
The method now needs to be strict string type hinted
Guzzle to new Httplug implementation
composer require psr/http-message:^1.0 php-http/httplug:^1.1 php-http/message-factory:^1.0 php-http/discovery:^1.3 php-http/message:^1.6 php-http/client-common:^1.6 php-http/guzzle6-adapter:^1.1
// Wrap your guzzle client in a HTTPlug adapter:
$httpClient = new Client($guzzleClient);
// Use the new HttPlugHandle instead of the old GuzzleHandle
$clientBuilder->withHandler(HttPlugHandle::createForClient($httpClient));
// use the new HttPlugWsdlProvider instead of the old GuzzleWsdlHandle
$clientBuilder->withWsdlProvider(HttPlugWsdlProvider::createForClient($httpClient));
// If you are using NTLM:
// Remove the NtlmMiddleware and add the curl options to the guzzle client configuration instead:
$httpClient = Client::createWithConfig(['curl' => [
CURLOPT_HTTPAUTH => CURLAUTH_NTLM,
CURLOPT_USERPWD => 'username:password',
]]);
Deprecated
These methods are deprecated and will be removed in a next release:
\Phpro\SoapClient\CodeGenerator\Config\ConfigInterface::getNamespace()
usegetTypeNamespace()
instead.\Phpro\SoapClient\CodeGenerator\Config\ConfigInterface::getDestination()
usegetTypeDestination()
instead.\Phpro\SoapClient\CodeGenerator\Config\ConfigInterface::setNamespace()
usesetTypeNamespace()
instead.\Phpro\SoapClient\CodeGenerator\Config\ConfigInterface::setDestination()
usesetTypeDestination()
instead.