Декоратор Soap Client не выдает SoapFault

Я надеюсь, что это легко.

у меня есть Client класс, который расширяется \SoapClient (Я использую собственный клиент, потому что хочу регистрировать каждый вызов мыла):

<?php

namespace App\Soap\Client;

class Client extends \SoapClient
{
/**
* @var ClientLogger
*/
private $logger;

/**
* Client constructor.
* @param $wsdl
* @param array|null $options
* @param ClientLogger $logger
*/
public function __construct($wsdl, array $options = [], ClientLogger $logger)
{
parent::__construct($wsdl, $options);
$this->logger = $logger;
}
...

Это прекрасно работает, но есть проблема.

Этот клиент, в случае сбоя, не выбрасывает \SoapFault или любой Exception,

Единственный способ, который я нашел, это сделать:

public function __construct($wsdl, array $options = [], ClientLogger $logger)
{
try {
new \SoapClient($wsdl, $options);

parent::__construct($wsdl, $options);
$this->logger = $logger;
} catch (\SoapFault $e){
...
}
}

таким образом, в случае сбоя соединения, \SoapFault брошен

Я думаю, что есть лучший способ.

Есть идеи? Заранее спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector