WSDL ภายในเครื่องก็ยังส่ง SoapClient ออกสู่เครือข่ายได้
ติดตามการนำเข้า WSDL และ XML Schema แบบต่อเนื่อง เมื่อคำจำกัดความบริการภายในเครื่องยังผสมเส้นทาง proxy ภายในและภายนอกเข้าด้วยกัน
service.wsdl ภายในเครื่องยังทำให้ SoapClient ดึงเอกสารระยะไกลระหว่างการสร้างได้ การทำให้ไฟล์แรกอยู่ภายในเครื่องลบเพียงการดาวน์โหลดครั้งแรกนั้น:
local service.wsdl
→ internal Common.xsd
→ external Types.xsd
→ another schema location
เริ่มที่การดึงครั้งแรกที่ล้มเหลว ก่อนการเรียกทางธุรกิจ SOAP ครั้งแรก ระบุทุก import ของ WSDL และทุก schema location รวมถึงเอกสารที่สิ่งเหล่านั้นอ้างถึงต่อไป เก็บ URL ฐานหรือเส้นทางที่ใช้แก้ไขการอ้างอิงแบบสัมพัทธ์แต่ละรายการ แยกโฮสต์ภายในออกจากทรัพยากรที่จำเป็นต้องใช้ proxy ภายนอกจริง ๆ
proxy ของ SoapClient ที่ระบุชัดเจนสามารถส่ง schema ภายในผ่านตัวกลางที่มีมุมมอง DNS หรือนโยบายการเข้าถึงต่างกันได้ ตัวแปร no_proxy ระดับโปรเซสไม่ได้ยืนยันว่าเส้นทางการโหลดนี้อ่านค่านั้น ใช้ตัวเลือกที่มีเอกสารกำกับสำหรับ PHP เวอร์ชันของคุณ การตั้งชื่อตัวเลือกตามตัวแปรสภาพแวดล้อมไม่ได้สร้างตัวเลือกต่อการนำเข้า
หากต้องการติดตั้งคำจำกัดความทั้งหมดภายในเครื่อง ให้ได้รับเวอร์ชันที่อนุมัติของชุดการพึ่งพาทั้งหมด อัปเดตตำแหน่ง import ที่เกี่ยวข้องไปยังบันเดิลภายในเครื่อง และรักษาฐานเส้นทางสัมพัทธ์ไว้ กำหนดเวอร์ชันเอกสารเหล่านั้นร่วมกัน เพื่อให้ WSDL รากใหม่ไม่ใช้ชนิดที่ล้าสมัย
อย่าแตะต้องตัวระบุ namespace แม้จะดูเหมือน URL แต่ก็ระบุคำศัพท์ของ schema ไม่ใช่บอกตัวโหลดว่าจะดึงไฟล์จากที่ใด การแทนที่อาจเปลี่ยนสัญญาบริการ
ทดสอบการสร้างใหม่พร้อมบันทึกสถานะแคช: คำจำกัดความที่แคชไว้อาจซ่อนการพึ่งพาที่ขาดหายบนเครื่องหนึ่ง การเขียนทับ URL บริการใช้ในขั้นตอนถัดไป และ __doRequest() ที่กำหนดเองจัดการการแลกเปลี่ยน SOAP ทั้งสองอย่างไม่ควรถูกสันนิษฐานว่าเขียนใหม่หรือดักจับการดาวน์โหลด schema ทั้งหมดในเวลาสร้าง