ໃນ client Savon ທີ່ໃຊ້ HTTPI, proxy ເປັນສ່ວນໜຶ່ງຂອງຕົວເລືອກຂອງ client. ມັນໃຊ້ເມື່ອດຶງ WSDL ຈາກໄລຍະໄກ ແລະ ເມື່ອສົ່ງຄຳຮ້ອງ SOAP.

client = Savon.client(
  wsdl: 'https://service.example/soap?wsdl',
  proxy: ENV.fetch('SOAP_PROXY_URL'),
  open_timeout: 5,
  read_timeout: 15
)

ຕົວຢ່າງນີ້ສົມມຸດວ່າໃຊ້ transport HTTPI. ໃຫ້ URL proxy ທີ່ໄດ້ຮັບອະນຸມັດຜ່ານສະພາບແວດລ້ອມ. ສຳລັບການທົດສອບ SOAP ສາທາລະນະທີ່ອະນຸຍາດໃຫ້ມີຕົວກາງ HTTP ທີ່ບໍ່ມີການພິສູດຕົວຕົນ, ຜູ້ສະໝັກຈາກລາຍຊື່ proxy HTTPສາມາດໃຫ້ URL ນັ້ນໄດ້; ແຍກການຕັດສິນໃຈກ່ຽວກັບການພິສູດຕົວຕົນຂອງບໍລິການ ແລະ ຂອງ proxy ອອກຈາກກັນ. ຖ້າວິທີພິສູດຕົວຕົນທີ່ຮອງຮັບໃຊ້ຂໍ້ມູນຢືນຢັນໃນ URL, ຈົ່ງເຂົ້າລະຫັດຕົວອັກສອນທີ່ສະຫງວນໄວ້ໃນຂໍ້ມູນເຫຼົ່ານັ້ນ ແລະ ເກັບ URL ຜົນໄດ້ຮັບໄວ້ນອກບັນທຶກ.

Savon ເອີ້ນພວກມັນວ່າ «ຕົວເລືອກທົ່ວໄປ» ແຕ່ພວກມັນເປັນພາຍໃນຕົວຢ່າງ client ດຽວ. client ອື່ນທີ່ສ້າງຢູ່ບ່ອນອື່ນຈະບໍ່ໄດ້ຮັບ proxy ໂດຍອັດຕະໂນມັດ.

ກວດສອບ transport ທີ່ຕິດຕັ້ງໄວ້ກ່ອນນຳ snippet ມາໃຊ້ຄືນ. ເອກະສານ Savon ປັດຈຸບັນກຳນົດຕົວເລືອກເຫຼົ່ານີ້ໃຫ້ HTTPI; transport Faraday ຂອງມັນມີໜ້າຕັ້ງຄ່າຂອງຕົນເອງຜ່ານ client.faraday ແລະ ປະຕິເສດຕົວເລືອກສະເພາະ HTTPI ເຫຼົ່ານີ້. ຈົ່ງຕັ້ງຄ່າ transport ທີ່ເລືອກ ແທນທີ່ຈະປະສົມສອງໜ້ານີ້.

ແຍກບັນຊີ proxy ອອກຈາກຂໍ້ມູນຢືນຢັນຂອງບໍລິການ SOAP ແລະ ຄ່າ WS-Security. 407 ຂອງ proxy, ການທ້າທາຍເຂົ້າລະບົບ HTTP ຂອງບໍລິການ ແລະ ຄວາມຜິດພາດ SOAP ຊີ້ບອກການແລກປ່ຽນທີ່ແຕກຕ່າງກັນ. ການດຶງ WSDL ອາດລົ້ມເຫຼວກ່ອນ client ຈະໄດ້ເຮັດການດຳເນີນງານແອັບພລິເຄຊັນໃດໜຶ່ງ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ