-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Возможность получить request/response #47
Comments
Добрый день. Это вопрос все еще актуален? |
да, актуален т.к. изменения не было внесены и при debug mode, все также выключается cache WSDL hotels-connector/src/HotelsConnector.php Line 144 in f450a41
Возможно ли это разделить на две опции, что было isWsdlCache() и isDebugMode() Спасибо. |
Добрый день. Какой версией коннектора вы пользуетесь? |
Не увидел ответа, пользуемся последней версией. Вернулся к проблеме, т.к. потребовалось понять по какой причине не отображается extra цена с типом "Rack or BAR", оказалось что он не везде доступен. Проблема в том, что при включении debug мы получаем возможность получить request / response, но теряем возможность включить кэширование WSDL. В итоге решено через наследование и использование своего класса. class BronevikClent extends HotelsConnector
{
public function __construct($endpoint, $secureEndpoint, $debugMode = false)
{
parent::__construct($endpoint, $secureEndpoint, $debugMode);
$this->soapClient = $this->makeSoapClient(
$endpoint,
ClassMaps::CLASSMAP_FOR_BASE_ENDPOINT
);
}
protected function makeSoapClient($endpoint, array $classMap): SoapClient
{
return new SoapClient(
Endpoints::$wsdlUrls[$endpoint],
[
'location' => $endpoint,
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_DEFLATE,
'cache_wsdl' => config('app.debug') ? WSDL_CACHE_NONE : WSDL_CACHE_BOTH,
'trace' => $this->isDebugMode(),
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
'classmap' => $classMap,
]
);
}
} Но у данного способа есть свои недостатки, но при нашей текущей нагрузке это не существенно. Спасибо. |
Прошу рассмотреть добавление еще одного параметра при создании клиента, т.е. не только $debugMode = false, но возможно и $cacheMode = true, чтоб при работе в prod режиме оставалась возможность фиксировать логи (получать их через getLastRequest()/getLastReponse(), но притом не отключать кэширование WSDL файла.
Спасибо.
The text was updated successfully, but these errors were encountered: