Ρύθμιση διαμεσολαβητή HTTPI του Savon για αιτήματα WSDL και SOAP
Ρυθμίστε τον διαμεσολαβητή σε πελάτη Savon HTTPI και λάβετε υπόψη και την ανάκτηση απομακρυσμένου WSDL και τις κλήσεις SOAP.
Σε πελάτη Savon που χρησιμοποιεί HTTPI, ο διαμεσολαβητής ανήκει στις επιλογές του πελάτη. Ισχύει όταν ανακτάται απομακρυσμένο WSDL και όταν αποστέλλεται το αίτημα SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Το παράδειγμα προϋποθέτει τη μεταφορά HTTPI. Δώστε μια εγκεκριμένη διεύθυνση URL διαμεσολαβητή μέσω του περιβάλλοντος. Για μια δημόσια δοκιμή SOAP που επιτρέπει μη πιστοποιημένο HTTP ενδιάμεσο, ένας υποψήφιος από τη λίστα διαμεσολαβητών HTTP μπορεί να παρέχει αυτή τη διεύθυνση· κρατήστε χωριστές τις αποφάσεις πιστοποίησης της υπηρεσίας και του διαμεσολαβητή. Αν η υποστηριζόμενη μέθοδος πιστοποίησης χρησιμοποιεί διαπιστευτήρια μέσα στη διεύθυνση URL, κωδικοποιήστε τους δεσμευμένους χαρακτήρες σε αυτά τα διαπιστευτήρια και κρατήστε τη διεύθυνση που προκύπτει έξω από τα αρχεία καταγραφής.
Ο Savon τις ονομάζει «καθολικές επιλογές», αλλά είναι τοπικές σε ένα στιγμιότυπο πελάτη. Ένας άλλος πελάτης που δημιουργείται αλλού δεν κληρονομεί αυτόματα τον διαμεσολαβητή.
Ελέγξτε την εγκατεστημένη μεταφορά πριν επαναχρησιμοποιήσετε το απόσπασμα. Η τρέχουσα τεκμηρίωση του Savon αναθέτει αυτές τις επιλογές στο HTTPI· η μεταφορά Faraday έχει δικό της περιβάλλον ρύθμισης μέσω client.faraday και απορρίπτει αυτές τις επιλογές που αφορούν ειδικά το HTTPI. Ρυθμίστε τη μεταφορά που επιλέξατε αντί να αναμιγνύετε τις δύο διεπαφές.
Κρατήστε τον λογαριασμό του διαμεσολαβητή χωριστά από τα διαπιστευτήρια της υπηρεσίας SOAP και τις τιμές WS-Security. Το 407 του διαμεσολαβητή, η πρόκληση σύνδεσης HTTP της υπηρεσίας και ένα σφάλμα SOAP δηλώνουν διαφορετικές ανταλλαγές. Η ανάκτηση του WSDL μπορεί να αποτύχει πριν ο πελάτης εκτελέσει καν οποιαδήποτε λειτουργία εφαρμογής.