مقامی service.wsdl اب بھی SoapClient کو تعمیر کے دوران دور دراز دستاویزات لانے پر مجبور کر سکتا ہے۔ پہلی فائل کو مقامی بنانا صرف اسی پہلی ڈاؤن لوڈ کو ہٹاتا ہے:

local service.wsdl
  → internal Common.xsd
  → external Types.xsd
       → another schema location

پہلی SOAP کاروباری کال سے پہلے، پہلی ناکام حصولی سے شروع کریں۔ ہر WSDL درآمد اور ہر schema location کی فہرست بنائیں، ان دستاویزات سمیت جن کا وہ آگے حوالہ دیتے ہیں۔ ہر نسبتی حوالے کو حل کرنے کے لیے استعمال ہونے والا بنیادی URL یا راستہ رکھیں۔ اندرونی host کو ان وسائل سے الگ کریں جنہیں واقعی بیرونی proxy درکار ہے۔

ایک واضح SoapClient proxy اندرونی schema کو مختلف DNS نظریے یا رسائی پالیسی والے واسطے کے ذریعے بھیج سکتا ہے۔ عمل کی سطح کا no_proxy متغیر یہ ثابت نہیں کرتا کہ یہ لوڈنگ راستہ اسے پڑھتا ہے۔ اپنے PHP ورژن کے لیے دستاویزی اختیارات استعمال کریں؛ کسی اختیار کا نام ماحولیاتی متغیر پر رکھنا فی درآمد انتخاب کنندہ نہیں بناتا۔

تعریفات کو مکمل طور پر مقامی طور پر تعینات کرنے کے لیے، پورے انحصار سیٹ کے منظور شدہ ورژن حاصل کریں، متعلقہ درآمدی مقامات کو مقامی بنڈل پر اپ ڈیٹ کریں اور ان کے نسبتی راستے کی بنیادیں محفوظ رکھیں۔ ان دستاویزات کو ایک ساتھ ورژن کریں تاکہ نیا جڑ WSDL پرانی اقسام استعمال نہ کرے۔

namespace شناخت کنندگان کو نہ چھیڑیں۔ وہ URL جیسے لگ سکتے ہیں، لیکن وہ schema کی لغت کی شناخت کرتے ہیں، لوڈر کو یہ نہیں بتاتے کہ فائل کہاں سے لانی ہے۔ انہیں بدلنا سروس معاہدہ بدل سکتا ہے۔

cache کی حالت درج کر کے تعمیر کو دوبارہ جانچیں: cache شدہ تعریفات ایک مشین پر غائب انحصار چھپا سکتی ہیں۔ سروس URL کی اوور رائیڈ بعد کے مرحلے پر لاگو ہوتی ہے، اور حسب ضرورت __doRequest() SOAP تبادلہ سنبھالتا ہے؛ دونوں میں سے کسی کو بھی تعمیر کے وقت تمام schema ڈاؤن لوڈز دوبارہ لکھنے یا روکنے والا نہیں سمجھا جانا چاہیے۔

متعلقہ مضامین