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 ოპერაციის სრულ ხანგრძლივობას.