تنظیمات پروکسی 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 یا پردازش سند. |
| پردازش سند/طرحواره واردشده | نشانی واکشی اضافی واقعی. |
| فراخوانی متد SOAP | نقطه پایانی سرویس که در WSDL اعلام شده، شاید روی میزبان دیگر. |
فرآیندی که از WSDL ذخیرهشده در حافظه پنهان استفاده میکند ممکن است درخواستی را که روی ماشین دیگری شکست میخورد نادیده بگیرد. پیکربندی حافظه پنهان و نشانی ناموفق واقعی را همراه با مقایسه نگه دارید، بهجای تغییر پروکسی فقط بر اساس موفقیت ساخت.
proxy_login/proxy_password واسطه را احراز هویت میکنند. login/password مقصد و احراز هویت سرویس در سطح SOAP به لایههای دیگر خدمت میکنند. از گزینههای اختصاصی استفاده کنید بهجای گذاشتن سرآیندهای شبیه حساب در User-Agent؛ سرآیندهای موردنیاز برنامه به یک رابط سرآیند پشتیبانیشده تعلق دارند.
ثبت کنید عملیات، هدف و طرفی که چالش صادر میکند را با حذف اسرار. connection_timeout فقط برقراری اتصال را محدود میکند، نه کل مدت یک عملیات طولانی SOAP.