Mengonfigurasi proksi HTTPI Savon untuk permintaan WSDL dan SOAP
Konfigurasikan proksi pada klien Savon HTTPI dan pertimbangkan pengambilan WSDL jarak jauh maupun panggilan SOAP.
Pada klien Savon yang memakai HTTPI, proksi termasuk dalam opsi klien. Proksi berlaku saat mengambil WSDL jarak jauh dan saat mengirim permintaan SOAP.
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
Contoh ini mengasumsikan transport HTTPI. Sediakan URL proksi yang disetujui melalui lingkungan. Untuk uji SOAP publik yang mengizinkan perantara HTTP tanpa autentikasi, kandidat dari daftar proksi HTTP dapat menyediakan URL tersebut; pisahkan keputusan autentikasi layanan dan proksi. Jika metode autentikasi yang didukung memakai kredensial di dalam URL, enkode karakter yang dicadangkan dalam kredensial itu dan jaga URL hasilnya tetap di luar log.
Savon menyebutnya “opsi global”, tetapi opsi itu lokal bagi satu instans klien. Klien lain yang dibuat di tempat lain tidak otomatis mewarisi proksi.
Periksa transport yang terpasang sebelum memakai ulang cuplikan. Dokumentasi Savon saat ini menetapkan opsi ini ke HTTPI; transport Faraday-nya punya antarmuka penyiapan sendiri lewat client.faraday dan menolak opsi khusus HTTPI ini. Konfigurasikan transport yang dipilih, bukan mencampur kedua antarmuka.
Pisahkan akun proksi dari kredensial layanan SOAP dan nilai WS-Security. 407 proksi, tantangan login HTTP layanan dan kesalahan SOAP menandai pertukaran yang berbeda. Pengambilan WSDL bisa gagal sebelum klien melakukan satu pun operasi aplikasi.