การโหลด WSDL จากระยะไกลอาจเกิดขึ้นภายในคอนสตรักเตอร์ของ SoapClient จงระบุพร็อกซีก่อนการดึงครั้งแรกนั้น:

$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 จริง โฮสต์/พอร์ตของพร็อกซี และแหล่งข้อมูลรับรองที่ต้องการ ฟิลด์โฮสต์เป็นที่อยู่ ส่วนพอร์ตแยกต่างหาก

เมื่อมันล้มเหลวคำขอหรือการดำเนินการที่ต้องตรวจสอบ
การสร้างไคลเอนต์การดึง WSDL หรือการประมวลผลเอกสาร
การประมวลผลเอกสาร/สคีมาที่นำเข้าURL การดึงเพิ่มเติมจริง
การเรียกเมธอด SOAPปลายทางของบริการที่ประกาศใน WSDL อาจอยู่บนโฮสต์อื่น

กระบวนการที่ใช้ WSDL จากแคชอาจข้ามคำขอที่ล้มเหลวบนเครื่องอื่น เก็บการกำหนดค่าแคชและ URL ที่ล้มเหลวจริงไว้พร้อมกับการเปรียบเทียบ แทนที่จะเปลี่ยนพร็อกซีโดยอาศัยเพียงความสำเร็จของการสร้าง

proxy_login/proxy_password ตรวจสอบสิทธิ์ ตัวกลาง login/password ของปลายทางและการตรวจสอบสิทธิ์บริการระดับ SOAP รับใช้ชั้นอื่น ๆ จงใช้ตัวเลือกเฉพาะแทนการใส่ส่วนหัวที่คล้ายบัญชีลงใน User-Agent ส่วนหัวของแอปพลิเคชันที่จำเป็นเป็นของอินเทอร์เฟซส่วนหัวที่รองรับ

บันทึก การดำเนินการ เป้าหมาย และฝ่ายที่ออกสิ่งที่ท้าทาย โดยนำความลับออก connection_timeout จำกัดการสร้างการเชื่อมต่อ ไม่ใช่ระยะเวลาทั้งหมดของการดำเนินการ SOAP ที่ยาวนาน

บทความที่เกี่ยวข้อง