SOAP (Simple Object Access Protocol) হলো একটি প্রোটোকল যা মূলত XML ফরম্যাটে ডেটা আদান-প্রদান করার জন্য ব্যবহৃত হয়। SOAP মেসেজটি একটি স্ট্যান্ডার্ড কাঠামো অনুসরণ করে, যা মূলত তিনটি প্রধান অংশে বিভক্ত:
এখানে Header এবং Body অংশগুলো সবচেয়ে গুরুত্বপূর্ণ, কারণ এগুলি মেসেজের প্রধান কার্যকরী অংশগুলো ধারণ করে।
SOAP Envelope হলো একটি XML কন্টেইনার যা SOAP মেসেজের সমস্ত অংশ ধারণ করে। Envelope মেসেজের শুরু এবং শেষ চিহ্নিত করে এবং এর মধ্যে Header এবং Body থাকে। Envelope অংশটি বাধ্যতামূলক এবং এটি SOAP মেসেজের মূল কাঠামো হিসেবে কাজ করে।
SOAP Header হল SOAP মেসেজের ঐচ্ছিক অংশ, যা অতিরিক্ত মেটাডেটা ধারণ করে। এটি সার্ভিসের মধ্যে ডেটা প্রক্রিয়াকরণের জন্য অতিরিক্ত নির্দেশিকা প্রদান করতে পারে। SOAP Header সাধারণত সার্ভিসের জন্য অতিরিক্ত তথ্য যেমন নিরাপত্তা, ট্রানজেকশন ম্যানেজমেন্ট, বা সেশন ইনফরমেশন ধারণ করে।
Header এর উদাহরণ
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
এখানে, wsse:Security অংশটি নিরাপত্তা সম্পর্কিত তথ্য ধারণ করছে, যেমন UsernameToken।
SOAP Body হলো SOAP মেসেজের প্রধান অংশ, যেখানে মূল তথ্য বা কার্যকরী ডেটা থাকে। এটি মেসেজের কার্যকরী অংশ, যা সার্ভিসের জন্য প্রক্রিয়া সম্পাদনের জন্য প্রয়োজনীয় তথ্য ধারণ করে।
Body এর উদাহরণ
<soapenv:Body>
<web:GetStockPrice>
<web:StockSymbol>APPL</web:StockSymbol>
</web:GetStockPrice>
</soapenv:Body>
এখানে, GetStockPrice একটি ফাংশন কলের অনুরোধ, যেখানে StockSymbol হলো অনুরোধের ডেটা।
SOAP Fault একটি ঐচ্ছিক অংশ, যা মূলত ত্রুটি বা এক্সসেপশন সংক্রান্ত তথ্য ধারণ করে। এটি Body এর অংশে থাকে এবং SOAP মেসেজের প্রক্রিয়া করার সময় যদি কোনো সমস্যা হয়, তখন এটি বিস্তারিত ত্রুটি বার্তা প্রদান করে।
Fault এর উদাহরণ
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>Invalid request</faultstring>
<detail>
<errorcode>400</errorcode>
<errormessage>Bad Request</errormessage>
</detail>
</soapenv:Fault>
</soapenv:Body>
এখানে, Fault অংশে একটি ত্রুটির কোড এবং বার্তা প্রদান করা হচ্ছে, যা ক্লায়েন্টকে জানায় যে অনুরোধটি সঠিক ছিল না।
একটি সম্পূর্ণ SOAP মেসেজের উদাহরণ দেওয়া হলো:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://www.example.com/webservice">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<web:GetStockPrice>
<web:StockSymbol>APPL</web:StockSymbol>
</web:GetStockPrice>
</soapenv:Body>
</soapenv:Envelope>
এখানে, SOAP Envelope-এ Header এবং Body অংশ রয়েছে:
APPL
) এর তথ্য রয়েছে।SOAP মেসেজের কাঠামো একটি সুনির্দিষ্ট XML ফরম্যাটে বিভক্ত, যার মধ্যে Envelope, Header, Body, এবং প্রয়োজনে Fault থাকে। Header অংশে অতিরিক্ত তথ্য বা মেটাডেটা থাকে, যেমন নিরাপত্তা বা ট্রানজেকশন সম্পর্কিত, এবং Body অংশে মূল তথ্য বা কার্যকরী ডেটা থাকে। SOAP মেসেজের এই গঠনটি সার্ভিসের মধ্যে ডেটা প্রক্রিয়া এবং যোগাযোগের জন্য অত্যন্ত নির্ভরযোগ্য এবং নিরাপদ।
Read more