Pada klien Savon yang menggunakan HTTPI, proksi ialah sebahagian daripada pilihan klien. Ia terpakai semasa mengambil WSDL jauh dan semasa menghantar 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 menganggap pengangkutan HTTPI. Sediakan URL proksi yang diluluskan melalui persekitaran. Untuk ujian SOAP awam yang membenarkan perantara HTTP tanpa pengesahan, calon daripada senarai proksi HTTP boleh menyediakan URL itu; asingkan keputusan pengesahan perkhidmatan dan proksi. Jika kaedah pengesahan yang disokong menggunakan kelayakan dalam URL, enkod aksara terpelihara dalam kelayakan itu dan simpan URL yang terhasil di luar log.

Savon memanggilnya “pilihan global”, tetapi ia setempat kepada satu instans klien. Klien lain yang dibina di tempat lain tidak mewarisi proksi secara automatik.

Periksa pengangkutan yang dipasang sebelum menggunakan semula coretan. Dokumentasi Savon semasa menetapkan pilihan ini kepada HTTPI; pengangkutan Faraday mempunyai antara muka persediaan sendiri melalui client.faraday dan menolak pilihan khusus HTTPI ini. Konfigurasikan pengangkutan yang dipilih dan bukan mencampurkan kedua-dua antara muka.

Asingkan akaun proksi daripada kelayakan perkhidmatan SOAP dan nilai WS-Security. 407 proksi, cabaran log masuk HTTP perkhidmatan dan kesalahan SOAP menandakan pertukaran yang berbeza. Pengambilan WSDL boleh gagal sebelum klien melakukan sebarang operasi aplikasi.

Artikel berkaitan