未找到响应 class ArrayList [jboss 7] 的消息正文编写器
No message body writer has been found for response class ArrayList [jboss 7]
我们带有 restful 服务的应用程序在 jboss 6 上运行良好,升级到 jboss 7 后,none 其余服务正常运行。
我们遇到的异常是 http 500 内部服务器错误:
One of the restful service error is:
INFO - HTTP Status Code: 500
INFO - Web Service call execution: 1410 ms.
INFO - Content-Length: null
INFO - Content-Type: text/plain
INFO - Message-Body: **No message body writer has been found for response class ArrayList.**
应用程序具有以下依赖项。
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle-jaxrs</artifactId>
<version>2.7.8</version>
<exclusions>
<exclusion>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</exclusion>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
分析后发现jboss有rest easy api与cxf库冲突。
我尝试了很多网上可用的选项来排除 resteasy,但没有用。
如何排除 jboss 嵌入式库 rest easy 和其他 rest 组件以强制 jboss 使用应用程序库?
我发现在 jboss 中将 jaxrs 子系统作为一个整体排除在外 7 帮助我强制 jboss 依赖我的应用程序提供的 cxf 和 javax.ws.rs-api图书馆。
我已将如下所示的文件 jboss-deployment-structure.xml 添加到 war 文件以排除 jaxrs 子系统。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<exclude-subsystems>
<subsystem name="jaxrs" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
我们带有 restful 服务的应用程序在 jboss 6 上运行良好,升级到 jboss 7 后,none 其余服务正常运行。
我们遇到的异常是 http 500 内部服务器错误:
One of the restful service error is:
INFO - HTTP Status Code: 500
INFO - Web Service call execution: 1410 ms.
INFO - Content-Length: null
INFO - Content-Type: text/plain
INFO - Message-Body: **No message body writer has been found for response class ArrayList.**
应用程序具有以下依赖项。
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle-jaxrs</artifactId>
<version>2.7.8</version>
<exclusions>
<exclusion>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</exclusion>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
分析后发现jboss有rest easy api与cxf库冲突。
我尝试了很多网上可用的选项来排除 resteasy,但没有用。
如何排除 jboss 嵌入式库 rest easy 和其他 rest 组件以强制 jboss 使用应用程序库?
我发现在 jboss 中将 jaxrs 子系统作为一个整体排除在外 7 帮助我强制 jboss 依赖我的应用程序提供的 cxf 和 javax.ws.rs-api图书馆。
我已将如下所示的文件 jboss-deployment-structure.xml 添加到 war 文件以排除 jaxrs 子系统。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<exclude-subsystems>
<subsystem name="jaxrs" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>