(1)jar最小依赖
参考:http://gary0416.iteye.com/blog/1222915
部署到tomcat,项目启动后可以看到
经试验,不行,可能由于我用的是cxf3.0版本,还是全部jar吧!
(2)@XmlRootElement(name = "FlowInfo") 注解效果
使用前:
使用后:
(3)jsr331-api-1.1.1.jar是必须的,利用CXF发布REST服务得用到它。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
applicationXML.xml文件中加入如上链接,还是不行,报错:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'jaxrs:extensionMappings'. One of '{"http://cxf.apache.org/jaxws":binding, "http://
cxf.apache.org/jaxws":dataBinding, "http://cxf.apache.org/jaxws":executor, "http://cxf.apache.org/jaxws":features, "http://cxf.apache.org/jaxws":handlers, "http://
cxf.apache.org/jaxws":inInterceptors, "http://cxf.apache.org/jaxws":inFaultInterceptors, "http://cxf.apache.org/jaxws":invoker, "http://cxf.apache.org/
jaxws":outInterceptors, "http://cxf.apache.org/jaxws":outFaultInterceptors, "http://cxf.apache.org/jaxws":properties, "http://cxf.apache.org/jaxws":schemaLocations,
"http://cxf.apache.org/jaxws":serviceFactory}' is expected.
参考:http://blog.csdn.net/czp11210/article/details/8874321
(3)JAXB
JAXB可以相当灵活以支持其他格式,而不仅限于xml格式。
Jettison就是一个开源的JAXB适配器
参考:http://liugang594.iteye.com/blog/1499813
<FlowInfo settleFlowNo="0001">
<regOrg>zhongdeng</regOrg>
</FlowInfo>
(4)cxf把异常信息转换为JSON或者XML格式
参考:http://yufenfei.iteye.com/blog/1717098
第一步:编写自己的异常处理类 InvokeFaultExceptionMapper
@Provider
public class InvokeFaultExceptionMapper implements ExceptionMapper {
public Response toResponse(Throwable ex) {
StackTraceElement[] trace = new StackTraceElement[1];
trace[0] = ex.getStackTrace()[0];
ex.setStackTrace(trace);
ResponseBuilder rb = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
rb.type("application/json;charset=UTF-8");
rb.entity(ex);
rb.language(Locale.SIMPLIFIED_CHINESE);
Response r = rb.build();
return r;
}
}
第二部:加载InvokeFaultExceptionMapper
<jaxrs:server id="expGateway" address="/expGateway">
<jaxrs:inInterceptors>
<ref bean="inMessageInterceptor"/>
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<ref bean="outMessageInterceptor"/>
</jaxrs:outInterceptors>
<jaxrs:serviceBeans>
<ref bean="expGatewayImpl" />
</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:providers>
<bean class="com.pml.service.outer.InvokeFaultExceptionMapper"/>
</jaxrs:providers>
</jaxrs:server>
(5)创建一个基于WS-Security标准的安全验证(CXF回调函数使用,)
参考:http://jyao.iteye.com/blog/1346547
相关推荐
CXF是一个基于Apache的开源WebService框架,提供了丰富的WebService开发功能。 5. Mybatis:在本实验中,我们使用Mybatis来实现数据库操作。Mybatis是一个基于Java的持久层框架,提供了丰富的数据库操作功能。 6. ...
第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现?...CXF开发webservice: CXF入门程序 Spring+cxf整合(重点) CXF发布rest的webservice。(重点) 综合案例: 实现便民查询网站
1. **SOAP支持**:CXF能够处理SOAP 1.1和1.2规范,支持WSDL(Web服务描述语言)第一版和第二版,以及WS-I基本配置。它允许开发者以Java编程模型的方式来编写SOAP服务,简化了服务的开发过程。 2. **RESTful服务**:...
CXF Webservice 开发手册
本篇文章将深入探讨如何利用CXF来实现一个简单的WebService接口开发。 首先,我们要了解什么是CXF。CXF全称CXF Commons eXtensible Services Framework,它不仅支持SOAP(Simple Object Access Protocol)协议,还...
3. **客户端调用**:CXF提供了客户端工具,如wsdl2java可以生成客户端代码,也可以直接使用JAX-WS的`Service`类生成服务代理。 三、对比与选择 1. **JDK原生**:适合简单的Web服务需求,开发过程相对简单,但功能...
【CXF:构建Web服务的全面指南】 CXF(CXF: XFire Community eXtended)是一个开源的Java框架,用于构建和部署Web服务。它提供了强大的支持,包括SOAP、RESTful API、WS-*规范等多种协议和服务模型。CXF不仅简化了...
而Spring框架则是一个全面的企业级应用开发框架,它提供了丰富的功能,如依赖注入、AOP(面向切面编程)以及与CXF的良好集成。 首先,我们需要配置HTTPS环境。HTTPS是HTTP协议的安全版本,通过SSL/TLS协议提供数据...
1. **在 web.xml 中配置 CXF:** - 需要在 `web.xml` 文件中添加 CXF 的配置,包括 CXF 的 Servlet 定义和相关的初始化参数。 - 同时,为了启动 Spring 上下文,需要设置一个监听器来初始化 Spring 配置文件。 2....
【压缩包子文件的文件名称列表】:cxf-test 这个文件名暗示了可能包含的是CXF相关的测试代码或者配置。在实际项目中,开发者通常会为Web服务创建测试用例,以确保服务的正确性和稳定性。这些测试可能涵盖服务的各个...
1. **强大的SOAP支持**:CXF支持各种WS-*规范,如WS-Security、WS-Addressing、WS-RM等,提供了一流的SOAP处理能力。 2. **RESTful API支持**:CXF可以轻松地创建和消费RESTful服务,支持JAX-RS标准。 3. **数据绑定...
6. **集成工具**:CXF提供了CXF透视图和插件,与Eclipse IDE无缝集成,简化了Web服务的开发和调试过程。 7. **WS-*兼容性**:CXF支持许多Web服务扩展,如WS-Security、WS-ReliableMessaging等,提高了服务的安全性...
CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和部署Web服务。这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF...
2. 生成客户端代码:CXF提供了一个工具,可以基于WSDL(Web服务描述语言)文件自动生成客户端代理类。运行以下命令: ```bash java -jar cxf-codegen-plugin-3.4.x.jar -wsdl ...
2. **Logging Message**:CXF内部提供了一个`LoggingMessage`类来方便地记录消息的详细信息,包括消息ID、编码方式、内容类型等。 #### 三、代码实现详解 ##### 1. 创建自定义拦截器`InInterceptor` ```java ...
### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...
CXF(CXF: Apache CXF)是一个开源的Java框架,专为构建和部署Web服务而设计。Spring框架则是Java企业级应用开发的事实标准,提供了一个全面的编程和配置模型,使得开发、测试和集成复杂的应用变得简单。当我们谈论...
xmlns:cxf="http://cxf.apache.org/core" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd ...