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.

Databinding3.1.2.유의 사항public void setKey(String key) {this.key = key;}public Object getValue() {return value;}public void setValue(Object value) {this.value = value;}중략...JAXB Databinding 방식을 사용하여 Web Services로 노출된 메소드에 접근하여 사용 시 유의해야 하는사항이다.3.1.2.1.SEI 클래스에서 정의되지 않은 Java Type 클래스가Runtime시 Databinding되어야 하는 경우SEI 클래스에 정의된 메소드의 입력값이나 리턴값으로 참조되지 않은 Java Type 클래스의 경우, Runtime시 Databinding이 일어날 때 다음과 같은 에러 메시지가 나오게 됩니다.org.apache.cxf.interceptor.Fault: Marshalling Error: class anyframe.sample.domain.Movie nor any of itssuper class is known to this context.아래 방법을 통해서 해결하도록 한다.• Interface ClassSEI(Service Endpoint Interface) 클래스의 메소드에는 List 형태의 결과값을 리턴하는 메소드가 존재하고 해당 List내에 저장된 Java Type 클래스에 대해서는 참조하는 메소드가 없는 경우, 클라이언트가 해당 메소드를 호출할 때 Runtime시에 JAXB Databinding을 시도하려고 하면서 Marshalling Error가 발생하게 된다. 이를 방지하기 위해서 @XmlSeeAlso Annotation 혹은 JDK1.5의 Generic Type을 설정하도록 한다.@XmlSeeAlso 사용 예제@WebService@XmlSeeAlso({Movie.class})public interface MovieService {public List getMovieList(SearchVO searchVO);중략...JDK 1.5의 Generic Type 사용 예제@WebServicepublic interface MovieService {public List getMovieList(SearchVO searchVO);중략...3.2.Aegis DatabindingAegis는 JAXB와 다르게 표준(Spec.)이 아니며, Apache <strong>CXF</strong>에서만 제공되는 기능으로 JAXB와 역할이 동일하다. 즉, XML Schema로부터 클래스 데이터를 바인딩하여 XML로부터 객체를 Unmarshalling 하거16

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

Saved successfully!

Ooh no, something went wrong!