MessageDispatcherServlet এর ব্যবহার

Spring Web Services এবং Message Dispatching - স্প্রিং ওয়েব সার্ভিসেস (Spring Web Services) - Java Technologies

248

MessageDispatcherServlet কী?

MessageDispatcherServlet হলো স্প্রিং ফ্রেমওয়ার্কের একটি বিশেষায়িত Servlet যা স্প্রিং ওয়েব সার্ভিসের জন্য SOAP মেসেজ প্রক্রিয়াজাত করে। এটি একটি ফ্রন্ট কন্ট্রোলার হিসেবে কাজ করে, যা SOAP অনুরোধ গ্রহণ করে, প্রাসঙ্গিক Endpoints এ রুট করে, এবং প্রতিক্রিয়া তৈরি করে।


MessageDispatcherServlet এর বৈশিষ্ট্য

  • SOAP মেসেজ রাউটিং: এটি SOAP অনুরোধগুলিকে নির্দিষ্ট Endpoint-এ পাঠায়।
  • WSDL প্রকাশ: এটি স্বয়ংক্রিয়ভাবে WSDL তৈরি এবং প্রকাশ করতে পারে।
  • ইন্টিগ্রেশন সহজতর করে: স্প্রিং কনফিগারেশন ও কাস্টমাইজেশন সহজতর করে।
  • বৈধতা যাচাই (Validation): এটি XSD স্কিমার ভিত্তিতে মেসেজ ভ্যালিডেশন সমর্থন করে।

MessageDispatcherServlet সেটআপ

MessageDispatcherServlet ব্যবহার করতে হলে এটি আপনার স্প্রিং কনফিগারেশনে যুক্ত করতে হবে।

উদাহরণ: MessageDispatcherServlet এর কনফিগারেশন

WebServiceConfig.java

@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter {

    @Bean
    public ServletRegistrationBean<MessageDispatcherServlet> messageDispatcherServlet(ApplicationContext applicationContext) {
        MessageDispatcherServlet servlet = new MessageDispatcherServlet();
        servlet.setApplicationContext(applicationContext);
        servlet.setTransformWsdlLocations(true); // WSDL লোকেশন ট্রান্সফর্ম সক্রিয়
        return new ServletRegistrationBean<>(servlet, "/ws/*");
    }

    @Bean
    public XsdSchema calculatorSchema() {
        return new SimpleXsdSchema(new ClassPathResource("calculator.xsd"));
    }
}

ব্যাখ্যা:

  1. Servlet Registration: ServletRegistrationBean ব্যবহার করে MessageDispatcherServlet রেজিস্টার করা হয়।
  2. Application Context: MessageDispatcherServlet এর জন্য স্প্রিং অ্যাপ্লিকেশন কনটেক্সট সেট করা হয়।
  3. WSDL লোকেশন ট্রান্সফর্ম: setTransformWsdlLocations(true) সেট করলে WSDL ফাইলটি সহজেই উপলব্ধ হয়।

WSDL তৈরি করা

MessageDispatcherServlet এর সাহায্যে একটি WSDL প্রকাশ করা যেতে পারে। নিচে এর জন্য প্রয়োজনীয় সেটআপ দেখানো হলো।

CalculatorWsdlConfig.java

@Bean(name = "calculator")
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema calculatorSchema) {
    DefaultWsdl11Definition definition = new DefaultWsdl11Definition();
    definition.setPortTypeName("CalculatorPort");
    definition.setTargetNamespace("http://example.com/calculator");
    definition.setLocationUri("/ws");
    definition.setSchema(calculatorSchema);
    return definition;
}

ব্যাখ্যা:

  • Port Type Name: SOAP সার্ভিসের পোর্ট টাইপের নাম নির্ধারণ করে।
  • Target Namespace: SOAP সার্ভিসের জন্য নির্দিষ্ট নামস্পেস।
  • Location URI: SOAP সার্ভিসটি কোথায় উপলব্ধ হবে তা নির্দেশ করে।
  • Schema: XSD ফাইল দ্বারা SOAP বার্তার কাঠামো নির্ধারণ করা হয়।

MessageDispatcherServlet এর কার্যপ্রবাহ

  1. SOAP অনুরোধ গ্রহণ: MessageDispatcherServlet HTTP প্রোটোকলের মাধ্যমে SOAP মেসেজ গ্রহণ করে।
  2. Endpoint সনাক্তকরণ: মেসেজের তথ্য অনুযায়ী নির্দিষ্ট Endpoint নির্বাচন করে।
  3. SOAP মেসেজ প্রক্রিয়াজাতকরণ: অনুরোধ প্রসেস করার জন্য Endpoint এ পাঠানো হয়।
  4. SOAP প্রতিক্রিয়া প্রেরণ: Endpoint থেকে প্রাপ্ত ফলাফল SOAP প্রতিক্রিয়া আকারে ক্লায়েন্টকে পাঠানো হয়।

উদাহরণ: SOAP অনুরোধ এবং প্রতিক্রিয়া

SOAP অনুরোধ (Request):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:cal="http://example.com/calculator">
    <soapenv:Header/>
    <soapenv:Body>
        <cal:AddRequest>
            <cal:number1>5</cal:number1>
            <cal:number2>10</cal:number2>
        </cal:AddRequest>
    </soapenv:Body>
</soapenv:Envelope>

SOAP প্রতিক্রিয়া (Response):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:cal="http://example.com/calculator">
    <soapenv:Header/>
    <soapenv:Body>
        <cal:AddResponse>
            <cal:result>15</cal:result>
        </cal:AddResponse>
    </soapenv:Body>
</soapenv:Envelope>

MessageDispatcherServlet এর সুবিধা

  1. সহজ সেটআপ: স্প্রিং ওয়েব সার্ভিসে MessageDispatcherServlet সহজেই সেটআপ করা যায়।
  2. বৈধতা নিশ্চিতকরণ: XSD স্কিমার ভিত্তিতে SOAP বার্তা যাচাই করা যায়।
  3. ডকুমেন্টেশন তৈরি: WSDL স্বয়ংক্রিয়ভাবে তৈরি এবং প্রকাশ করা যায়।
  4. স্ট্যান্ডার্ড সমর্থন: SOAP এবং WS-Security এর মতো স্ট্যান্ডার্ড সমর্থন করে।
  5. কাস্টমাইজেশন: কনফিগারেশন সহজ এবং প্রয়োজন অনুযায়ী কাস্টমাইজ করা যায়।

সারাংশ

MessageDispatcherServlet স্প্রিং ওয়েব সার্ভিসে SOAP বার্তা প্রক্রিয়াজাত করার জন্য একটি কেন্দ্রীয় ভূমিকা পালন করে। এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে নির্ভুল ও কার্যকর যোগাযোগ নিশ্চিত করে এবং SOAP ওয়েব সার্ভিসকে দ্রুত এবং সহজে বাস্তবায়ন করতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...