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 gagalPermintaan atau operasi yang perlu diperiksa
Pembuatan klienPengambilan WSDL atau pemrosesan dokumen.
Pemrosesan dokumen/skema yang diimporURL pengambilan tambahan yang sebenarnya.
Panggilan metode SOAPTitik 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.

Artikel terkait