Apache CXF : http://cxf.apache.org
위의 Apache CXF 홈페이지를 방문하면 다운로드 뿐만 아니라 좀 더 자세한 정보를 알아 낼 수 있다.
Apache AXIS : http://axis.apache.org/axis2/java/core/
AXIS 역시 홈페이지를 방문하면 Install 가이드 및 자세한 정보를 확인 할 수 있다.
Apache CXF 설치
Eclipse에서 Maven Project를 생성 후 Pom.xml에 Apache CXF 를 추가한다.
환경설정
Web.xml에 다음과 같이 Servlet을 추가합니다.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>SimpleJaxs</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/beans.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
<servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
</web-app>
web.xml 환경설정이 끝나면 beans.xml를 생성한다.
<?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:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxrs:server id="CxfService" address="/Service">
<jaxrs:serviceBeans>
<ref bean="DemoBean" />
</jaxrs:serviceBeans>
</jaxrs:server>
<bean id="DemoBean" class="demo.jaxrs.server. DemoCxf " />
Server 프로그램 샘플
그럼 이번에는 Server Program 를 생성해 보도록 하겠다.
package demo.jaxrs.server;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
public class DemoCxf {
@GET
@Path("/getMsg/{gubun}")
public String getMsg(@PathParam("gubun") String _gubun)
{
return "hi"+ _gubun;
}
@POST
@Path("/AddData/{gubun}/{data}")
public String addData(@PathParam("gubun") String _gubun, @PathParam("data") String _data)
{
String data = _data;
return "true";
}
}
Client 프로그램 샘플
Server 프로그램을 생성했으면 Client 프로그램을 생성해야 한다.
import org.apache.cxf.jaxrs.client.WebClient;
public class DemoCxfClient {
public String getMsgClient( String serverUrl)
{
WebClient client = WebClient.create(serverUrl);
String gubun = "1";
String result = client.path("/CxfService/DemoCxf/getMsg").accept("application/xml").get(gubun);
return result;
}
public String addDataClient( String serverUrl, String data)
{
WebClient client = WebClient.create(serverUrl);
String gubun = "1";
String data = "test_data";
String result = client.path("/CxfService/DemoCxf/addDataClient").accept("application/xml").post(gubun, data);
return result;
}
}
샘플 코드에서 나는 Rest의 두가지를 샘플로 코딩하였다. 바로 @GET 과 @POST이다. 이번에는 Rest 방식에 대하여 설명하도록 하겠다.
@GET
특정 구분자에 의한 값을 조회할때
@POST
새로운 데이터를 저장하거나 생성할 때
@PUT
저장되어 있는 데이터를 변경할 때
@DELETE
저장되어 있는 데이터를 삭제할 때
@HEAD
조회하고자 하는 데이터의 메타데이터를 확인 할 때
@OPTION
지원 메소드를 체크할 때
'CXF,WSDL,JAXB' 카테고리의 다른 글
developerWorks 기술모음 - 웹서비스 (0) | 2014.03.18 |
---|---|
[ SPRING] CXF 를 이용한 WebService 구현 2 (0) | 2014.03.18 |
[ SPRING ] CXF 를 이용한 WebService 구현 1 (1) | 2014.03.18 |
1. Eclipse에서 웹 서비스 Axis2(JAX-WS) 구축방법 (1) | 2014.03.18 |
Jersey를 이용한 REST의 구현 및 SOAP UI를 이용한 테스트 (0) | 2014.03.18 |
REST 란? (0) | 2014.03.18 |
이클립스를 활용한 WSDL webservice 개발 (0) | 2014.03.18 |