12.07.2015 Views

Anyframe CXF Plugin

Anyframe CXF Plugin

Anyframe CXF Plugin

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

RESTful Services• Collection 데이터 작성다음은 생성하고자 하는 Customer에 대한 Collection 데이터를 작성한 create_movies.txt 의 일부이다. Movies 태그 내 하위 태그로 movie 태그가 소문자로 작성되어 있음에 주의한다.005Life Is BeautifulRoberto Benigni006Life Is sadno director만약, 대문자 Movie로 작성하고자 한다면 아래와 같이 Movies 클래스의 멤버변수인 movies에@XmlElement Annotation 설정을 추가해주는데 이때 Movies 목록 조회 시 대문자 Movie와 소문자 movie 내용이 XML 상에 중복하게 나오게 된다. 단, JAXB 데이터 바인딩 이후에는 내용 중복없이 사용된다. 다음은 Movie Service의 인터페이스 클래스에서 목록조회 시 리턴 값으로 사용하는 Movies.java 의 일부이다. Movies 클래스 내 멤버 변수로 선언한 movies 변수 정의 시 작성한@XmlElement(name="Movie") Annotation 설정에 유의하도록 한다.import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name = "Movies")public class Movies {@XmlElement(name="Movie")private Collection; movies;public Collection getMovie() {return movies;}public void setMovie(Collection movies) {this.movies = movies;}중략...• Test Case다음은 HttpClient 클래스를 사용하여 RESTful Web Services로 노출된 Movie Service에 접근하는클라이언트 코드 작성 예이다. testCreateMovies() 메소드 내에서 Post Method를 사용하여 MovieCollection 목록을 생성해내도록 한 후, Get Mothod를 사용하여 Movie 목록을 확인한다. RESTfulWebService 실행 결과로 받은 XML 데이터를 JavaBeans 객체로 변경하여 메소드 동작이 올바른지테스트해본다./*** [Flow #-7]Positive Case : Post method로 Movie Id가 "005","006"인 신규 Movie 목록을* 생성하는 기능을 호출한다.* @Post, @HttpResource annotation을 이용하여* createMovies method를 RESTful한 Web Service로 노출하여* Client가 호출가능하도록 한다.* (ex. @Post* @HttpResource(location = "/movielist")* public void createMovies(@WebParam(name = "Movies")* Movies movies) throws Exception;* )60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!