728x90
반응형

일반적으로 웹 서비스를 구축 하기는 쉽지 않은데...

 

(WSDL 이니 뭐니 이런 규격 알아가는게 귀찮고 힘듭니다.)

 

apache 오픈 소스로 CXF 라는 프로젝트가 있는데 이걸 사용해서

 

구축 하면 생각보다 쉽게 구현이 가능 합니다. (요새 대세인 Spring 결합은 당연합니다.)

 

아래 구현은 Client 에서 Server에 구현 되어 있는 클래스를 사용 해서 결과를 받을 수 있는

 

방식 입니다. (Client 에는 interface 만 있습니다.)

 

사용 중요 library 들은

 

spring 3.0.7 버전
wsdl4j 1.6.2 버전
xmlschema 2.0.3 버전
cxf 2.6.2 버전

 

입니다.

 

 

Server 측과 Client 측을 나누어서 글을 쓸 텐데

 

이번 글은 Server 측을 쓰겠습니다.

 

 

 

 

 일단 서버측 파일 구조는 위의 그림과 같습니다.

 

1. web.xml 에 아래와 같은 구문이 포함 되어야 합니다.

 

 
  CXFServlet
  
   org.apache.cxf.transport.servlet.CXFServlet
  
  2
 

 
  CXFServlet
  /*
 
 

 

2. applicationContext.xml 는 아래와 같이 구현 되어 있습니다.

 



 
 
  
   
    
 



 

3. dispatcher-servlet.xml 은 아래와 같이 구현 되어 있습니다.

 




 


 







 

 

4. webservice_cxf.xml 은 아래와 같이 구현 되어 있습니다.



 

 
   

 

5. OrderProcess.java 는 아래와 같이 구현 되어 있습니다.

 

package com.incross.order.service;

import javax.jws.WebService;

 

@WebService
public interface OrderProcess {
 

 String processOrder(String user);


}

 

6. OrderProcessImpl.java 는 아래와 같이 구현 되어 있습니다.

 

package com.incross.order.service;

import javax.jws.WebService;


@WebService(endpointInterface = "com.incross.order.service.OrderProcess")
public class OrderProcessImpl implements OrderProcess{
 @Override
 public String processOrder(String user){
  
  if(user == null){
   return "error";
  }else if(user.equals("aaa")){
   return "test_return1";
  }else{
   return "test_return2";
  }
  

 }
}

 

 

제대로 구현 되어 있는지 확인은

 

(tomcat 에 localhost 로 8080 port 로 띄운 결과 입니다.)

 

웹브라우저에서 localhost:8080/프로젝트명/OrderProcess?wsdl 를 접속 하면

 

wsdl 형태로 결과가 나오면 정상 구현 된 것입니다. (아래 예제 사진 참고)

 

 

 

본 글은

 

http://www.ibm.com/developerworks/kr/library/ws-pojo-springcxf/ 

 

를 참조 하여 개발 한 소스를 포함 하였습니다.

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,