HTTPI ব্যবহার করা Savon ক্লায়েন্টে প্রক্সি থাকে ক্লায়েন্টের অপশনেই। দূরবর্তী 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 দিন। যে পাবলিক SOAP পরীক্ষা অনির্ধারিত HTTP মধ্যস্থতাকারীকে অনুমতি দেয়, তার জন্য HTTP প্রক্সি তালিকা থেকে একটি প্রার্থী ওই URL দিতে পারে; পরিষেবা ও প্রক্সির প্রমাণীকরণ সংক্রান্ত সিদ্ধান্ত আলাদা রাখুন। যদি সমর্থিত প্রমাণীকরণ পদ্ধতি URL-এ থাকা শংসাপত্র ব্যবহার করে, সেই শংসাপত্রে সংরক্ষিত অক্ষরগুলো এনকোড করুন এবং ফলাফল URL লগের বাইরে রাখুন।

Savon এগুলোকে “গ্লোবাল অপশন” বলে, কিন্তু এগুলো একটি ক্লায়েন্ট ইনস্ট্যান্সের মধ্যেই সীমিত। অন্য কোথাও তৈরি আলাদা ক্লায়েন্ট প্রক্সিটি স্বয়ংক্রিয়ভাবে পায় না।

স্নিপেট আবার ব্যবহারের আগে ইনস্টল করা ট্রান্সপোর্ট যাচাই করুন। Savon-এর বর্তমান ডকুমেন্টেশন এই অপশনগুলো HTTPI-এর অধীনে রাখে; এর Faraday ট্রান্সপোর্টের client.faraday-এর মাধ্যমে নিজস্ব সেটআপ ইন্টারফেস আছে এবং এই HTTPI-নির্দিষ্ট অপশনগুলো প্রত্যাখ্যান করে। দুটি ইন্টারফেস মেশানোর বদলে নির্বাচিত ট্রান্সপোর্ট কনফিগার করুন।

প্রক্সি অ্যাকাউন্ট SOAP পরিষেবার শংসাপত্র ও WS-Security মান থেকে আলাদা রাখুন। প্রক্সির 407, পরিষেবার HTTP লগইন চ্যালেঞ্জ এবং SOAP ফল্ট ভিন্ন ভিন্ন বিনিময় চিহ্নিত করে। ক্লায়েন্ট কোনো অ্যাপ্লিকেশন অপারেশন করার আগেই WSDL আনা ব্যর্থ হতে পারে।

সম্পর্কিত নিবন্ধ