สร้าง Java Web Service ง่ายๆ ด้วย Apache CXF กับ Spring Framework

บทความเกี่ยวกับ : สร้าง Java Web Service ง่ายๆ ด้วย Apache CXF กับ Spring Framework


แต่ก่อนถ้าพูดถึง Web Service แล้วคงมองว่าเป็นเรื่องไกลตัว และยุ่งยากในการ Implements
แต่ตอนนี้หายห่วงเพราะ มี Tool ต่างๆ มาช่วยอำนวยความสะดวกมากขึ้น
วันนี้ขอแนะนำ Apache CXF  
ผมได้ทดลองนำเอามาใช้ร่วมกับ Spring Framework ด้วยขั้นตอนง่าย ตามนี้ครับ

Service Interface
package com.en.ws;

import javax.jws.WebParam;
import javax.jws.WebService;

import com.en.dto.ExampleDto;
@WebService
public interface ExampleWSInf {
    public ExampleDto getData(@WebParam(name="codeId")String codeId);
}

Service Class
package com.en.ws;

import java.io.Serializable;

import com.en.dto.ExampleDto;
import com.en.model.MasterModel;

//@WebService(endpointInterface = "com.en.ws.ExampleWSInf", serviceName = "ExampleWS", portName="ExampleWS")
public class ExampleWS  implements ExampleWSInf,Serializable {
    private static final long serialVersionUID = 1L;
    private MasterModel model;
    public ExampleDto getData(String codeId){
        ExampleDto dto=(ExampleDto)model.getDataObj(new Integer(codeId));
        return dto;
    }
    public MasterModel getModel() {
        return model;
    }
    public void setModel(MasterModel model) {
        this.model = model;
    }
   
}

จากนั้นก็มาเพิ่ม Spring Config อีกนิดหน่อย
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans.xsd
                     http://cxf.apache.org/jaxws
                     http://cxf.apache.org/schemas/jaxws.xsd">

    <!-- Load CXF modules from cxf.jar -->  
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
   
   
    <bean id="exampleWS" class="com.en.ws.ExampleWS">
        <property name="model" ref="exampleModel"/>
    </bean>
    <jaxws:endpoint id="EXAMPLEWS"
        implementorClass="com.en.ws.ExampleWS"
        implementor="#exampleWS"
        address="/example" />
   
</beans>



เท่านี้ก็เป็นอันเรียบร้อยแล้วครับ พี่น้อง
นี่เป็นเพียงแค่ตัวอย่างการ Implements ใช้งานนะครับแบบง่ายๆ
นอกจากนั้นก็เป็นเรื่องของตัวเนื้องานแล้วล่ะ
ไว้เจอกันโพสหน้าคร้าบบบ

ความคิดเห็น

  1. ไม่ระบุชื่อ8 กันยายน 2555 เวลา 12:24

    แล้วจะใช้งานยังไงเหรอครับ zeussuez@live.com

    ตอบลบ
    คำตอบ
    1. ก็ต้อง Deploy Service ลงใน Project Spring ครับ
      มันจะได้ URL ที่เป็น WSDL มา
      สามารถเอาไป Gen Client เรียกใช้ได้

      ลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java