สร้าง Java Web Service ง่ายๆ ด้วย Apache CXF กับ Spring Framework
บทความเกี่ยวกับ : สร้าง Java Web Service ง่ายๆ ด้วย Apache CXF กับ Spring Framework
แต่ก่อนถ้าพูดถึง Web Service แล้วคงมองว่าเป็นเรื่องไกลตัว และยุ่งยากในการ Implements
แต่ตอนนี้หายห่วงเพราะ มี Tool ต่างๆ มาช่วยอำนวยความสะดวกมากขึ้น
วันนี้ขอแนะนำ Apache CXF
ผมได้ทดลองนำเอามาใช้ร่วมกับ Spring Framework ด้วยขั้นตอนง่าย ตามนี้ครับ
Service Interface
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 ใช้งานนะครับแบบง่ายๆ
นอกจากนั้นก็เป็นเรื่องของตัวเนื้องานแล้วล่ะ
ไว้เจอกันโพสหน้าคร้าบบบ
แต่ก่อนถ้าพูดถึง 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);
}
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 ใช้งานนะครับแบบง่ายๆ
นอกจากนั้นก็เป็นเรื่องของตัวเนื้องานแล้วล่ะ
ไว้เจอกันโพสหน้าคร้าบบบ
แล้วจะใช้งานยังไงเหรอครับ zeussuez@live.com
ตอบลบก็ต้อง Deploy Service ลงใน Project Spring ครับ
ลบมันจะได้ URL ที่เป็น WSDL มา
สามารถเอาไป Gen Client เรียกใช้ได้
YtincturFrecji1999 Deborah Smith Download crack
ตอบลบskilobterloi