This extension is wrapper for default SoapClient in PHP.
The preferred way to install this extension is through composer.
Either run
php composer.phar require nhkey/yii2-soap "*"
or add
"nhkey/yii2-soap": "*"
to the require section of your composer.json.
You need add this extension in your config file in the 'components' section
'components' => [
'soapClient' => [
'class' => \nhkey\soap\SoapClientWrapper::className(),
'url' => '<SOAP_WSDL_URL>',
// SoapClient options
'options' => [
'cache_wsdl' => WSDL_CACHE_NONE,
'debug' => true,
],
// SopaClient headers, object or closure
'headers' => function() {
$headers = new stdClass();
$headers->authDetails = new stdClass(); // This is node in SOAP Header where the login and password.
$headers->authDetails->login = 'LOGIN';
$headers->authDetails->password = 'PASSWORD';
return $headers;
}
],
...
]
Now you can use this extension, e.g.:
try {
$soap = Yii::$app->soapClient;
$result = $soap->makeSmb(['arg1' => 'foo', 'arg2' => 'bar']);
} catch (SoapClientWrapperException $e) {
return ['request' => $soap->getLastRequest(), 'response' => $soap->getLastResponse()];
}
Author: Mikhail Mikhalev
Email: mail@mikhailmikhalev.ru