Налаштування проксі PHP SoapClient для WSDL і викликів служб
Налаштуйте параметри проксі PHP SoapClient для завантаження WSDL і викликів служб, не додаючи облікові дані в User-Agent.
Завантаження віддаленого WSDL може відбуватися всередині конструктора SoapClient. Вкажіть проксі до цього першого отримання:
$client = new SoapClient('https://service.example.com/api?wsdl', [
'proxy_host' => '203.0.113.10',
'proxy_port' => 8080,
'proxy_login' => getenv('PROXY_USER'),
'proxy_password' => getenv('PROXY_PASSWORD'),
'connection_timeout' => 5,
'exceptions' => true,
]);Використовуйте справжній WSDL, хост/порт проксі та передбачуване джерело облікових даних. Поле хоста — це адреса, а його порт окремо.
| Коли це не вдається | Запит або операція для перевірки |
|---|---|
| Створення клієнта | Отримання WSDL або обробка документа. |
| Обробка імпортованого документа/схеми | Фактичний додатковий URL отримання. |
| Виклик методу SOAP | Кінцева точка служби, оголошена в WSDL, можливо, на іншому хості. |
Процес із кешованим WSDL може пропустити запит, який не вдається на іншій машині. Зберігайте конфігурацію кешу та фактично невдалий URL разом із порівнянням, а не змінюйте проксі лише на підставі успішного створення.
proxy_login/proxy_password автентифікують посередника. login/password призначення та автентифікація служби на рівні SOAP обслуговують інші шари. Використовуйте спеціальні параметри замість того, щоб вставляти схожі на обліковий запис заголовки в User-Agent; потрібні заголовки застосунку належать до підтримуваного інтерфейсу заголовків.
Зафіксуйте операцію, ціль і сторону, що видає запит з вилученими секретами. connection_timeout обмежує встановлення з'єднання, а не повну тривалість довгої операції SOAP.