ການຕັ້ງຄ່າ proxy ຂອງ PHP SoapClient ສຳລັບ WSDL ແລະການເອີ້ນບໍລິການ
ຕັ້ງຄ່າຕົວເລືອກ proxy ຂອງ PHP SoapClient ສຳລັບການໂຫຼດ WSDL ແລະການເອີ້ນບໍລິການ ໂດຍບໍ່ໃສ່ຂໍ້ມູນຢືນຢັນເຂົ້າໃນ User-Agent.
ການໂຫຼດ WSDL ຈາກໄລຍະໄກສາມາດເກີດຂຶ້ນພາຍໃນ constructor ຂອງ SoapClient. ໃຫ້ proxy ກ່ອນການດຶງຄັ້ງທຳອິດນັ້ນ:
$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 ຕົວຈິງ, host/port ຂອງ proxy ແລະແຫຼ່ງຂໍ້ມູນຢືນຢັນທີ່ຕັ້ງໃຈ. ຊ່ອງ host ແມ່ນທີ່ຢູ່, ສ່ວນ port ແຍກຕ່າງຫາກ.
| ເມື່ອມັນລົ້ມເຫຼວ | ຄຳຮ້ອງ ຫຼື ການດຳເນີນງານທີ່ຕ້ອງກວດສອບ |
|---|---|
| ການສ້າງ client | ການດຶງ WSDL ຫຼື ການປະມວນຜົນເອກະສານ. |
| ການປະມວນຜົນເອກະສານ/schema ທີ່ນຳເຂົ້າ | URL ດຶງເພີ່ມເຕີມຕົວຈິງ. |
| ການເອີ້ນວິທີ SOAP | ຈຸດປາຍທາງຂອງບໍລິການທີ່ປະກາດໃນ WSDL, ອາດຢູ່ host ອື່ນ. |
ຂະບວນການທີ່ໃຊ້ WSDL ທີ່ເກັບໃນ cache ອາດຂ້າມຄຳຮ້ອງທີ່ລົ້ມເຫຼວໃນເຄື່ອງອື່ນ. ເກັບການຕັ້ງຄ່າ cache ແລະ URL ທີ່ລົ້ມເຫຼວຕົວຈິງໄວ້ກັບການປຽບທຽບ ແທນທີ່ຈະປ່ຽນ proxy ພຽງແຕ່ໂດຍອີງໃສ່ການສ້າງສຳເລັດ.
proxy_login/proxy_password ຢືນຢັນ ຕົວກາງ. login/password ປາຍທາງ ແລະການຢືນຢັນບໍລິການລະດັບ SOAP ຮັບໃຊ້ຊັ້ນອື່ນ. ໃຊ້ຕົວເລືອກສະເພາະ ແທນທີ່ຈະໃສ່ header ຄ້າຍຄືບັນຊີໃນ User-Agent; header ແອັບພລິເຄຊັນທີ່ຕ້ອງການເປັນຂອງ interface header ທີ່ຮອງຮັບ.
ບັນທຶກ ການດຳເນີນງານ, ເປົ້າໝາຍ ແລະ ຝ່າຍທີ່ອອກສິ່ງທ້າທາຍ ໂດຍເອົາຄວາມລັບອອກ. connection_timeout ຈຳກັດການສ້າງການເຊື່ອມຕໍ່, ບໍ່ແມ່ນໄລຍະເວລາທັງໝົດຂອງການດຳເນີນງານ SOAP ຍາວນານ.