Pengaturan Proxy PHP SoapClient untuk WSDL dan Panggilan Layanan
Konfigurasikan opsi proxy PHP SoapClient untuk memuat WSDL dan panggilan layanan tanpa menyisipkan kredensial ke User-Agent.
Pemuatan WSDL jarak jauh dapat terjadi di dalam konstruktor SoapClient. Berikan proxy sebelum pengambilan pertama itu:
$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,
]);Gunakan WSDL sebenarnya, host/port proxy, dan sumber kredensial yang dimaksud. Kolom host adalah alamat, dengan portnya terpisah.
| Ketika gagal | Permintaan atau operasi yang perlu diperiksa |
|---|---|
| Pembuatan klien | Pengambilan WSDL atau pemrosesan dokumen. |
| Pemrosesan dokumen/skema yang diimpor | URL pengambilan tambahan yang sebenarnya. |
| Panggilan metode SOAP | Titik akhir layanan yang dideklarasikan di WSDL, mungkin di host lain. |
Proses yang menggunakan WSDL di-cache dapat melewati permintaan yang gagal di mesin lain. Simpan konfigurasi cache dan URL yang benar-benar gagal bersama perbandingan, alih-alih mengubah proxy hanya berdasarkan keberhasilan pembuatan.
proxy_login/proxy_password mengautentikasi perantara. login/password tujuan dan autentikasi layanan tingkat SOAP melayani lapisan lain. Gunakan opsi khusus alih-alih menaruh header mirip akun ke User-Agent; header aplikasi yang diperlukan termasuk dalam antarmuka header yang didukung.
Catat operasi, target, dan pihak yang menerbitkan tantangan dengan rahasia dihapus. connection_timeout membatasi pembentukan koneksi, bukan durasi total operasi SOAP yang panjang.