PHP SOAP КЭШИРОВАНИЕ WSDL
PHP SOAP расширение позволяет взаимодействовать с веб-сервисами через протокол SOAP. Чтобы уменьшить нагрузку на сервер и ускорить процесс, можно использовать кэширование WSDL файлов с описанием структуры веб-сервиса, которые передаются клиенту при обращении.
Для кэширования WSDL файлов можно использовать встроенную функцию PHP - soap.wsdl_cache_enabled
. Кэширование может быть включено со значением 1 или отключено со значением 0:
ini_set("soap.wsdl_cache_enabled", "1");
$client = new SoapClient("http://example.com/soap?wsdl");
//производим вызовы методов веб-сервиса
По умолчанию кэширование включено и использует директорию, указанную в soap.wsdl_cache_dir
. Если директория не указана, используется системная временная директория.
Если нужно настроить параметры кэширования, можно использовать другие настройки soap.wsdl_cache
, такие как soap.wsdl_cache_ttl
, soap.wsdl_cache_limit
, soap.wsdl_cache_dir
.
ini_set("soap.wsdl_cache_enabled", "1");
ini_set("soap.wsdl_cache_ttl", "86400"); //хранить кэш WSDL файлов не более 86400 секунд
$client = new SoapClient("http://example.com/soap?wsdl", array('cache_wsdl' => WSDL_CACHE_MEMORY)); //использовать кэш в памяти
//производим вызовы методов веб-сервиса
В данном примере используется кэш в памяти, и кэш WSDL файлов будет храниться в течение 86400 секунд (один день).
How To Create Webservice SOAP WSDL in SAP
Send SOAP Request and read XML response from PHP page
SOAP Web Services 10 - Understanding the WSDL
How to integrate SOAP API using curl in PHP?
Consuming a SOAP Web Service in PHP
Generate Sample XML using a WSDL in SOAP UI
Send SOAP Request with custom varaibles and read XML response from PHP page
Import WSDL file in Postman (SOAP Web Service)