@Endpoint এবং @PayloadRoot অ্যানোটেশন এর ব্যবহার

Spring Web Services এর জন্য Endpoints তৈরি - স্প্রিং ওয়েব সার্ভিসেস (Spring Web Services) - Java Technologies

273

স্প্রিং ওয়েব সার্ভিসেস ডেভেলপমেন্টের সময়, @Endpoint এবং @PayloadRoot অ্যানোটেশন দুটি SOAP মেসেজ প্রসেসিংয়ের জন্য মূল ভূমিকা পালন করে। এদের সাহায্যে আপনি ইনকামিং SOAP মেসেজ হ্যান্ডল করতে পারেন এবং সঠিক ফাংশনে রাউট করতে পারেন।


@Endpoint অ্যানোটেশন

ভূমিকা

@Endpoint একটি ক্লাসের উপর প্রয়োগ করা হয় যা SOAP মেসেজ প্রক্রিয়াকরণের জন্য দায়ী। এটি স্প্রিং ওয়েব সার্ভিস ফ্রেমওয়ার্ককে নির্দেশ করে যে এই ক্লাসটি SOAP মেসেজ হ্যান্ডল করবে।

বৈশিষ্ট্য

  • এটি একটি স্ট্যান্ডার্ড স্প্রিং Bean।
  • SOAP মেসেজ রাউটিং এবং প্রসেসিং পরিচালনার জন্য ব্যবহৃত হয়।

উদাহরণ

@Endpoint
public class HelloWorldEndpoint {
    // SOAP মেসেজ প্রসেসিং মেথড এখানে ডিফাইন করা হয়
}

@PayloadRoot অ্যানোটেশন

ভূমিকা

@PayloadRoot অ্যানোটেশনটি একটি মেথডের উপর প্রয়োগ করা হয়, যা নির্দিষ্ট XML নেমস্পেস এবং লোকালপার্থ (localPart) এর ভিত্তিতে ইনকামিং SOAP মেসেজের পে-লোড (Payload) প্রসেস করে।

বৈশিষ্ট্য

  • একটি মেথড নির্দিষ্ট নেমস্পেস এবং লোকালপার্থের জন্য রেজিস্টার করে।
  • এটি XML ভিত্তিক SOAP মেসেজ প্রক্রিয়াকরণের জন্য নির্দিষ্ট ফাংশন নির্বাচন করতে সাহায্য করে।

উদাহরণ

@PayloadRoot(namespace = "http://example.com/helloworld", localPart = "HelloRequest")
@ResponsePayload
public HelloResponse sayHello(@RequestPayload HelloRequest request) {
    // ইনকামিং রিকোয়েস্ট প্রসেসিং এবং রেসপন্স রিটার্ন
}

@Endpoint এবং @PayloadRoot এর সংযুক্ত ব্যবহার

পূর্ণ উদাহরণ

নিচে একটি পূর্ণাঙ্গ উদাহরণ দেওয়া হলো যেখানে @Endpoint এবং @PayloadRoot একসাথে ব্যবহার করা হয়েছে:

@Endpoint
public class HelloWorldEndpoint {

    private static final String NAMESPACE_URI = "http://example.com/helloworld";

    @PayloadRoot(namespace = NAMESPACE_URI, localPart = "HelloRequest")
    @ResponsePayload
    public HelloResponse sayHello(@RequestPayload HelloRequest request) {
        HelloResponse response = new HelloResponse();
        response.setMessage("Hello, " + request.getName());
        return response;
    }
}

কোড ব্যাখ্যা

  1. @Endpoint:
    • HelloWorldEndpoint ক্লাসটি SOAP মেসেজ প্রক্রিয়ার জন্য ডিক্লেয়ার করা হয়েছে।
    • স্প্রিং এটি একটি Bean হিসেবে চিনে।
  2. @PayloadRoot:
    • মেথডটি নির্দিষ্ট নেমস্পেস (http://example.com/helloworld) এবং লোকালপার্থ (HelloRequest) এর জন্য রেজিস্টার করা হয়েছে।
    • শুধুমাত্র মিলে যাওয়া পে-লোড পেলেই মেথডটি এক্সিকিউট হবে।
  3. @RequestPayload এবং @ResponsePayload:
    • @RequestPayload ইনকামিং XML ডেটা HelloRequest অবজেক্টে ম্যাপ করে।
    • @ResponsePayload আউটপুটকে HelloResponse অবজেক্ট থেকে XML ফর্ম্যাটে রূপান্তর করে।

ব্যবহারের সুবিধা

  • সহজতা: স্প্রিং ওয়েব সার্ভিসের মাধ্যমে SOAP মেসেজ প্রসেসিং সহজ হয়।
  • ম্যাপিং: @PayloadRoot এর মাধ্যমে নির্দিষ্ট XML নেমস্পেস এবং লোকালপার্থের ভিত্তিতে মেথড নির্বাচন করা যায়।
  • স্ট্রাকচারড কোড: @Endpoint ব্যবহার করে SOAP মেসেজ প্রসেসিং লজিক এক জায়গায় সংগঠিত রাখা যায়।

সারাংশ

স্প্রিং ওয়েব সার্ভিসেসে @Endpoint এবং @PayloadRoot অ্যানোটেশন SOAP মেসেজ প্রসেসিংকে সুনির্দিষ্ট ও স্ট্রাকচারড করে তোলে। এর মাধ্যমে আপনি ক্লিন এবং স্কেলেবল কোড লিখতে পারেন, যা বড় প্রজেক্টের জন্য খুবই গুরুত্বপূর্ণ।


Content added By
Promotion

Are you sure to start over?

Loading...