출처 : http://wheelersoftware.com/articles/spring-cxf-web-services.html
Web Services with Spring 2.5 and Apache CXF 2.0
In this tutorial I explain how to get a web service up and running using Spring 2.5 and Apache CXF 2.0, which is the combination of Celtix and XFire and is considered XFire 2.0. (I don't know what the Celtix team would say about that, but that's what the XFire site says.) Here I just treat the web service itself; to learn about consuming the web service using Spring and CXF, please see the article Make Web Services Transparent with Spring 2.5 and Apache CXF 2.0.
CXF supports both WSDL-first and Java-first web service development. This article takes the Java-first approach.
Project Setup
The first thing you'll need to do is download CXF from the Apache CXF site. At the time of this writing the project is in incubator status and the latest version is 2.0.4. That's the version I'm using.
You'll also find it useful to know about the section of the CXF user documentation that deals with writing a service with Spring, but currently the docs describe how to integrate with Spring 2.0, and since I want to integrate with Spring 2.5, there are some differences worth highlighting along the way.
Also, the docs describe a "Hello, World" web service that just returns a string, and in this tutorial we want to go a little further than that and actually do a class databinding.
Here are the service-side dependencies you'll need. Inside the distribution there is
a file called WHICH_JARS
that describes in a little more detail what the JARs
are for and which ones you'll really need, if you're interested in that. But the following
is essentially the list given in the user docs.
CXF itself
cxf-2.0.4-incubator.jar
CXF dependencies
Note that for CXF 2.0.4 the documented dependencies are almost but not quite
the same as the JARs that are actually included in the distribution, once again,
at the time of this writing (February 2008). Specifically the stax
,
neethi
and XMLSchema
JARs are not the ones listed. Here's
the corrected list for CXF 2.0.4:
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar
(or Sun's Activation jar)geronimo-annotation_1.0_spec-1.1.jar
(JSR 250)geronimo-javamail_1.4_spec-1.0-M1.jar
(or Sun's JavaMail jar)geronimo-servlet_2.5_spec-1.1-M1.jar
(or Sun's Servlet jar)geronimo-stax-api_1.0_spec-1.0.jar
geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
jaxb-api-2.0.jar
jaxb-impl-2.0.5.jar
jaxws-api-2.0.jar
neethi-2.0.2.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.1.jar
XmlSchema-1.3.2.jar
xml-resolver-1.2.jar
Aegis dependencies
In addition to the above, you will need to add jdom-1.0.jar
since
Aegis databinding uses it.
Spring dependencies
In this case ignore what's in the CXF documentation, because we're integrating with Spring 2.5 instead of Spring 2.0. I'm going to assume that you have Spring 2.5 already set up on your web services project, including Hibernate or anything else that your web services will need on the implementation side.
Just in case you were wondering, you don't need the Spring MVC module's
DispatcherServlet
as CXF comes with its own servlet,
org.apache.cxf.transport.servlet.CXFServlet
.
OK, that should be good for basic project setup. Let's write a simple service.
'JAVA > JEE' 카테고리의 다른 글
스프링과 아파치 CXF를 이용해 POJO 웹 서비스를 디자인하고 구현하기, Part 1: CXF와 스프링을 사용하는 웹 서비스 만들기 소개 (0) | 2011.07.22 |
---|---|
Sitemesh 에서 Struts2 액션 사용하기 (0) | 2008.11.26 |
Invoking Web Services Without Using the WSDL File (0) | 2008.08.05 |
weblogic 6.1 웹서비스 문제.(xmlns 가 1999 로 된다 ㅠㅠ) (0) | 2008.07.23 |
[java mail] javax.mail.internet.ParseException 발생... (0) | 2007.07.06 |