HTTPI ကို အသုံးပြုသော Savon client တွင် ပရောက်စီသည် client ၏ ရွေးချယ်စရာများ၏ တစ်စိတ်တစ်ပိုင်း ဖြစ်သည်။ အဝေးမှ WSDL ရယူချိန်နှင့် SOAP တောင်းဆိုမှု ပို့ချိန်တွင် အကျုံးဝင်သည်။

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

ဤဥပမာသည် HTTPI သယ်ယူမှုကို ယူဆထားသည်။ အတည်ပြုထားသော ပရောက်စီ URL ကို ပတ်ဝန်းကျင်မှတစ်ဆင့် ပေးပါ။ အထောက်အထား မစစ်ဆေးသော HTTP ကြားခံကို ခွင့်ပြုသည့် အများသူငှာ SOAP စမ်းသပ်မှုအတွက် HTTP ပရောက်စီ စာရင်းမှ ကိုယ်စားလှယ်တစ်ဦးက ထို URL ကို ပေးနိုင်သည်။ ဝန်ဆောင်မှုနှင့် ပရောက်စီ၏ အထောက်အထား စစ်ဆေးမှု ဆုံးဖြတ်ချက်များကို သီးခြား ထားပါ။ အထောက်အပံ့ပြုသော စစ်ဆေးမှုနည်းလမ်းက URL အတွင်းရှိ အထောက်အထားများကို အသုံးပြုပါက ထို အထောက်အထားများရှိ သီးသန့်စာလုံးများကို ကုဒ်ပြောင်းပါ ပြီး ရလာသော URL ကို မှတ်တမ်းများအပြင် ထားပါ။

Savon က ၎င်းတို့ကို “ဂလိုဘယ် ရွေးချယ်စရာများ” ဟု ခေါ်သည်၊ သို့သော် ၎င်းတို့သည် client တစ်ခုအတွက်သာ ဖြစ်သည်။ အခြားနေရာတွင် တည်ဆောက်ထားသော client သည် ပရောက်စီကို အလိုအလျောက် အမွေမခံရပါ။

ကုဒ်အပိုင်းကို ပြန်မသုံးမီ ထည့်သွင်းထားသော သယ်ယူမှုကို စစ်ဆေးပါ။ Savon ၏ လက်ရှိ စာရွက်စာတမ်းများက ဤရွေးချယ်စရာများကို HTTPI သို့ သတ်မှတ်သည်။ ၎င်း၏ Faraday သယ်ယူမှုတွင် client.faraday မှတစ်ဆင့် ကိုယ်ပိုင် ဖွဲ့စည်းမှု အင်တာဖေ့စ် ရှိပြီး ဤ HTTPI သီးသန့် ရွေးချယ်စရာများကို ငြင်းပယ်သည်။ အင်တာဖေ့စ် နှစ်ခုကို မရောစပ်ဘဲ ရွေးချယ်ထားသော သယ်ယူမှုကို ဖွဲ့စည်းပါ။

ပရောက်စီ အကောင့်ကို SOAP ဝန်ဆောင်မှု အထောက်အထားများနှင့် WS-Security တန်ဖိုးများမှ သီးခြားထားပါ။ ပရောက်စီ၏ 407၊ ဝန်ဆောင်မှု၏ HTTP လော့ဂ်အင် စိန်ခေါ်မှု နှင့် SOAP အမှားသည် မတူညီသော ဖလှယ်မှုများကို ဖော်ပြသည်။ WSDL ရယူခြင်းသည် client က မည်သည့် အပလီကေးရှင်း လုပ်ဆောင်ချက်မှှ မပြုလုပ်မီ မအောင်မြင်နိုင်ပါ။

ဆက်စပ်ဆောင်းပါးများ