刚刚配置完spring集成cxf使用restful方式部署webservice,整个过程感觉就是爽和简单,欢迎抛砖引玉
第一步:当然是下载jar包了
使用到的jar有以下:
1、spring jar包我就不说了,地球人都知道
2、cxf-2.6.9.jar 最新版是2.7X版本,我开始下的2.7版本,发现支持的JSR是2.0,起码需要JSR-339.api.jar,但是我下的是jsr311-api-1.1.1.jar,只能支持2.7以下版本,后来又重新下了cxf2.6.9在这里记录下避免忘记了。
3、jsr311-api-1.1.1.jar
4、geronimo-servlet_3.0_spec-1.0.jar
5、neethi-3.0.2.jar
第二步: 配置项目中web.xml
<servlet>
<servlet-name>CXFService</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFService</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
第三步:
新建appalicationcontext_cxf.xml
内容如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<bean id="restSample" class="com.community.webservice.RESTSampleSource"/>
<!-- 这里的地址很重要,客户端需要通过这个地址来访问WebService -->
<jaxrs:server id="restServiceContainer" address="/rest">
<jaxrs:serviceBeans>
<ref bean="restSample" />
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
<jaxrs:languageMappings>
<entry key="en" value="en-gb"/>
</jaxrs:languageMappings>
</jaxrs:server>
</beans>
下面就是例子
新建Sample接口类
@Path(value = "/sample")
public interface Sample {
@GET
@Path("/bean/{id}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public String getBean(@PathParam("id") int id);
@GET
@Path("/list/{id}")
@Produces({ "application/xml","application/json" })
public String getBean2(@PathParam("id") int id);
}
新建Sample接口的实现类
@Path(value = "/sample")
public class RESTSampleSource implements Sample {
@Override
@GET
@Path("/bean/{id}")
@Produces({ "application/xml", "application/json" })
public String getBean(@PathParam("id") int id) {
return "<xml>1</xml>";
}
@Override
@GET
@Path("/list")
@Produces({ "application/xml","application/json" })
public String getBean2(@PathParam("id") int id) {
return "{id:'123'}";
}
}
好了,启动发布
使用
http://localhost:8080/cxfWebservice/rest/sample/bean/123 默认返回xml
http://localhost:8080/cxfWebservice/rest/sample/list?id=1&_type=json 加入_type=json则可以返回json数据
相关推荐
本教程将深入探讨如何在Spring环境中集成CXF以实现RESTful WebService接口。 首先,我们需要理解REST(Representational State Transfer)的概念。REST是一种软件架构风格,用于设计网络应用程序。它的核心思想是...
3. 接下来,我们需要实现Restful API和WebService API接口,使用Spring Boot的Restful API和CXF框架来实现学生信息的增删改查操作。 4. 最后,我们需要测试Restful API和WebService API接口,确保其正常工作。 结论...
8. **集成测试**:利用Spring Test和CXF的模拟测试工具,可以方便地进行Web服务的单元测试和集成测试。 9. **性能优化**:可以通过调整CXF的配置,例如缓存策略、线程池大小等,优化Web服务的性能。 10. **监控与...
在IT行业中,RESTful WebService已经成为构建Web应用程序接口的标准之一,它强调资源的表述状态转移。...通过实践这个项目,你可以深入学习RESTful API的设计原则、CXF和Spring的集成方式,以及JSON在Web服务中的应用。
在Spring框架中集成CXF,我们可以利用Spring的依赖注入和配置管理优势,使得Web服务的开发和维护变得更加简洁。以下是一个基本的步骤概述: 1. **创建Spring配置文件**: 首先,我们需要在Spring的配置文件(如`...
Apache CXF和Spring提供了丰富的扩展点,可以集成如Spring Security来控制访问权限,使用Spring AOP来处理事务,以及通过CXF的拦截器机制来实现自定义的日志、验证等功能。 总结来说,Apache CXF 2与Spring 2.5的...
在Spring应用中集成CXF,可以方便地创建和消费Web服务。通过CXF,我们能够定义服务接口,实现服务逻辑,并将其暴露为Web服务。 RESTful(Representational State Transfer)是一种轻量级的Web服务设计风格,它基于...
CXF作为Web服务提供商,它支持SOAP和RESTful两种风格的服务,能够与Spring无缝对接。通过Spring的ApplicationContext配置,我们可以管理CXF服务的生命周期,实现服务的发布和消费。 2. **创建WebService**: 使用...
在这个集成案例中,我们利用Spring 3的注解来声明服务的实现类和Bean定义,例如`@WebService`,`@Component`,`@Autowired`等,这些注解减少了XML配置的需求。 5. **创建Java WebService**: 使用CXF的`@...
5. **配置Spring**:创建一个Spring配置文件(如`applicationContext.xml`),配置CXF的bean,以便Spring能够管理和启动Web服务。 ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi...
1. Spring配置文件:定义了CXF的Servlet配置,以及SOAP和RESTful服务的bean。 2. SOAP服务接口和实现:定义了服务接口,并实现了业务逻辑。 3. RESTful资源类:定义了资源类及其HTTP操作方法。 4. 测试客户端:可能...
3. **集成CXF和Spring**:在Spring中集成CXF,通常会使用Spring的`<jaxws:service>`或`<jaxrs:server>`标签来声明和配置Web服务。这样,服务实例的创建和管理都交给了Spring容器,同时还能利用Spring的其他功能,如...
集成Spring和CXF的主要目标是利用Spring的DI和配置管理能力,结合CXF的Web服务功能,构建出高效且易于维护的服务。下面我们将详细探讨这一过程: 1. **配置Spring容器**:首先,我们需要在Spring的配置文件中定义...
为了将CXF与Spring集成,你需要配置Spring上下文文件,声明CXF的Servlet或Jetty服务器,然后将你的服务bean定义为Spring组件。这样,Spring会负责服务的初始化和销毁,而CXF则负责服务的暴露和调用。在项目中,...
【标题】中的“webservice xfire整合spring(webservice配置采用注解)”是指将Xfire,一个早期的Web服务框架,与Spring框架结合使用,其中Web服务的配置通过Spring的注解方式进行。这种方式简化了配置,提高了开发...
3. 集成Spring:使用Spring的ApplicationContext加载配置文件,将CXF的bean加入到Spring的上下文中。 4. 测试:编写测试用例,验证服务端和客户端的正常交互。 六、注意事项 1. 异常处理:在服务端和客户端都要进行...
4. **配置CXF**:在你的项目中添加CXF依赖,并通过XML配置文件(如cxf.xml或Spring配置文件)来配置CXF。这里需要指定服务接口和服务实现类,以及可能的服务地址和绑定信息。 5. **部署服务**:使用CXF的Servlet...
3. **Spring与CXF集成**:通过Spring的`<jaxws:endpoint>`或`<jaxrs:server>`标签,我们可以将CXF服务端点声明式地配置在Spring XML配置文件中,从而实现服务的发布。这种方式避免了手动编写CXF的配置文件,使得配置...
### Spring集成CXF(WebService) #### WebService概览 WebService是一种构建应用程序的普遍模型,能够跨平台、跨语言实现服务的交互与共享。它是一种自包含、自描述、模块化的应用,可以发布、定位并通过Web调用...
本文将详细介绍如何在Spring Boot 2.1.5版本中集成CXF 3.2.5,以创建一个功能完备的Web Service服务端。我们将探讨集成过程、配置步骤以及相关的知识点。 首先,让我们了解Spring Boot。Spring Boot是由Pivotal ...