Ρυθμίσεις διακομιστή μεσολάβησης 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.