zoukankan      html  css  js  c++  java
  • cxf maven 依赖 No message body writer foud.. contenttype:application/json

    最近使用cxf发布rest服务时遇到了如题的异常,最后发现是缺少依赖的问题.ps:我并没有使用spring

    cxf基本运行需要如下依赖

     1         <dependency>
     2             <groupId>org.apache.cxf</groupId>
     3             <artifactId>cxf-core</artifactId>
     4             <version>${cxf.version}</version>
     5         </dependency>
     6           <dependency>
     7             <groupId>org.apache.cxf</groupId>
     8             <artifactId>cxf-rt-frontend-jaxws</artifactId>
     9             <version>${cxf.version}</version>
    10         </dependency>
    11         <dependency>
    12             <groupId>org.apache.cxf</groupId>
    13             <artifactId>cxf-rt-transports-http</artifactId>
    14             <version>${cxf.version}</version>
    15         </dependency>
    16         <dependency>
    17             <groupId>org.apache.cxf</groupId>
    18             <artifactId>cxf-rt-transports-http-jetty</artifactId>
    19             <version>${cxf.version}</version>
    20         </dependency>

    如果想要发布rest风格的服务,需要添加如下依赖(看各人需要,有的可能需要添加rs-api的依赖)

     1         <!-- rest风格支持 -->
     2         <dependency>
     3             <groupId>org.apache.cxf</groupId>
     4             <artifactId>cxf-rt-frontend-jaxrs</artifactId>
     5             <version>${cxf.version}</version>
     6         </dependency>
     7         <dependency>
     8             <groupId>org.apache.cxf</groupId>
     9             <artifactId>cxf-rt-rs-extension-providers</artifactId>
    10             <version>${cxf.version}</version>
    11         </dependency>

    这样就可以发布rest风格的服务了,不过这样有个问题,只能使用xml格式的数据,如果使用下面的注解,即添加json格式的返回数据访问时会报如题的no message body writer的异常

    @Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})

    所以需要添加如下依赖

    1         <!-- json支持 -->
    2         <dependency>
    3             <groupId>org.codehaus.jettison</groupId>
    4             <artifactId>jettison</artifactId>
    5             <version>${jettison.version}</version>
    6         </dependency>

    总结:出现no message body writer时先检查pojo上是否添加了jaxb的必要标记----@XmlRootElement,其次检查是否缺少依赖关系

  • 相关阅读:
    第十二章学习笔记
    UVa OJ 107 The Cat in the Hat (戴帽子的猫)
    UVa OJ 123 Searching Quickly (快速查找)
    UVa OJ 119 Greedy Gift Givers (贪婪的送礼者)
    UVa OJ 113 Power of Cryptography (密文的乘方)
    UVa OJ 112 Tree Summing (树的求和)
    UVa OJ 641 Do the Untwist (解密工作)
    UVa OJ 105 The Skyline Problem (地平线问题)
    UVa OJ 100 The 3n + 1 problem (3n + 1问题)
    UVa OJ 121 Pipe Fitters (装管子)
  • 原文地址:https://www.cnblogs.com/tele-share/p/9371084.html
Copyright © 2011-2022 走看看