`
Seven.Q
  • 浏览: 12005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CXF随笔(二):CXF开发webservice点点

阅读更多

 

1jar最小依赖

 

参考:http://gary0416.iteye.com/blog/1222915

 

 

 

 

 

部署到tomcat,项目启动后可以看到

 

经试验,不行,可能由于我用的是cxf3.0版本,还是全部jar吧!

 

2@XmlRootElement(name = "FlowInfo") 注解效果

 

使用前:

 

 

 

 

 

 

 

使用后:

 

 

 

 

 

 

 

3jsr331-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

 

3JAXB

 

JAXB可以相当灵活以支持其他格式,而不仅限于xml格式。

 

Jettison就是一个开源的JAXB适配器

 

参考:http://liugang594.iteye.com/blog/1499813

 

<FlowInfo settleFlowNo="0001">

 

<regOrg>zhongdeng</regOrg>

 

</FlowInfo>

 

 

 

4cxf把异常信息转换为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

 

分享到:
评论

相关推荐

    SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验

    CXF是一个基于Apache的开源WebService框架,提供了丰富的WebService开发功能。 5. Mybatis:在本实验中,我们使用Mybatis来实现数据库操作。Mybatis是一个基于Java的持久层框架,提供了丰富的数据库操作功能。 6. ...

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现?...CXF开发webservice: CXF入门程序 Spring+cxf整合(重点) CXF发布rest的webservice。(重点) 综合案例: 实现便民查询网站

    02.CXF功能概述_CXF发展历史和使用CXF开发WebService服务器端

    1. **SOAP支持**:CXF能够处理SOAP 1.1和1.2规范,支持WSDL(Web服务描述语言)第一版和第二版,以及WS-I基本配置。它允许开发者以Java编程模型的方式来编写SOAP服务,简化了服务的开发过程。 2. **RESTful服务**:...

    CXF(Webservice)开发手册

    CXF Webservice 开发手册

    CXF实现简单的WebService接口开发

    本篇文章将深入探讨如何利用CXF来实现一个简单的WebService接口开发。 首先,我们要了解什么是CXF。CXF全称CXF Commons eXtensible Services Framework,它不仅支持SOAP(Simple Object Access Protocol)协议,还...

    WebService开发服务端的两种方式:jdk、cxf

    3. **客户端调用**:CXF提供了客户端工具,如wsdl2java可以生成客户端代码,也可以直接使用JAX-WS的`Service`类生成服务代理。 三、对比与选择 1. **JDK原生**:适合简单的Web服务需求,开发过程相对简单,但功能...

    CXF 一个完整的webService(整合客户端和服务端)

    【CXF:构建Web服务的全面指南】 CXF(CXF: XFire Community eXtended)是一个开源的Java框架,用于构建和部署Web服务。它提供了强大的支持,包括SOAP、RESTful API、WS-*规范等多种协议和服务模型。CXF不仅简化了...

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    而Spring框架则是一个全面的企业级应用开发框架,它提供了丰富的功能,如依赖注入、AOP(面向切面编程)以及与CXF的良好集成。 首先,我们需要配置HTTPS环境。HTTPS是HTTP协议的安全版本,通过SSL/TLS协议提供数据...

    CXF+spring+jdk1.5开发webService

    1. **在 web.xml 中配置 CXF:** - 需要在 `web.xml` 文件中添加 CXF 的配置,包括 CXF 的 Servlet 定义和相关的初始化参数。 - 同时,为了启动 Spring 上下文,需要设置一个监听器来初始化 Spring 配置文件。 2....

    cxf开发webservice服务端

    【压缩包子文件的文件名称列表】:cxf-test 这个文件名暗示了可能包含的是CXF相关的测试代码或者配置。在实际项目中,开发者通常会为Web服务创建测试用例,以确保服务的正确性和稳定性。这些测试可能涵盖服务的各个...

    WebService CXF 详细教程

    1. **强大的SOAP支持**:CXF支持各种WS-*规范,如WS-Security、WS-Addressing、WS-RM等,提供了一流的SOAP处理能力。 2. **RESTful API支持**:CXF可以轻松地创建和消费RESTful服务,支持JAX-RS标准。 3. **数据绑定...

    apache-cxf-3.0.16.zip_cxf index:0_webservice

    6. **集成工具**:CXF提供了CXF透视图和插件,与Eclipse IDE无缝集成,简化了Web服务的开发和调试过程。 7. **WS-*兼容性**:CXF支持许多Web服务扩展,如WS-Security、WS-ReliableMessaging等,提高了服务的安全性...

    cxf开发webservice所用jar包

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和部署Web服务。这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF...

    cxf 开发webservice客户端

    2. 生成客户端代码:CXF提供了一个工具,可以基于WSDL(Web服务描述语言)文件自动生成客户端代理类。运行以下命令: ```bash java -jar cxf-codegen-plugin-3.4.x.jar -wsdl ...

    CXF打印SOAP报文,记录WebService日志

    2. **Logging Message**:CXF内部提供了一个`LoggingMessage`类来方便地记录消息的详细信息,包括消息ID、编码方式、内容类型等。 #### 三、代码实现详解 ##### 1. 创建自定义拦截器`InInterceptor` ```java ...

    CXF开发webservice服务端

    ### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...

    CXF3.0.9+SPRING开发webservice例子

    CXF(CXF: Apache CXF)是一个开源的Java框架,专为构建和部署Web服务而设计。Spring框架则是Java企业级应用开发的事实标准,提供了一个全面的编程和配置模型,使得开发、测试和集成复杂的应用变得简单。当我们谈论...

    Apache CXF2+Spring2.5轻松实现WebService

    xmlns:cxf="http://cxf.apache.org/core" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd ...

Global site tag (gtag.js) - Google Analytics