javax.ws.rs.ProcessingException : Unable to find a MessageBodyReader of content-type application/json and type class

标签 java jboss wildfly

jboss as 7.1 升级到 wildfly 8.1 时出现错误。

以下是我收到错误的代码。

try {

    LOGGER.info("before authenticate {}");

    userTO = restEasyPortalServiceProxy.getLoginService().authenticate(userName, userPass);
    LOGGER.info("After authenticate : {}", userTO);
    userSessionData.setAuthToken(userTO.getAuthToken());

} catch (ResponseProcessingException responseProcessingException) {

    ExceptionMessage exceptionMessage = responseProcessingException
                                        .getResponse()
                                        .readEntity(ExceptionMessage.class);

我的jboss-deployment-struct.xml就像在jboss as 7.1

上工作一样
<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <!-- Exclude Version cxf of JBOSS -->
            <module name="org.apache.cxf" />
            <!-- Exclude JAVA EE of JBOSS (javax.ws..) => Add dependency javax.annotation -->
            <module name="javaee.api" />
            <!-- Exclude RestEasy conflict (javax.ws.rs.ext.RunDelegate) -->
            <module name="javax.ws.rs.api" />
            <module name="org.codehaus.jackson.jackson-core-asl" />
            <module name="org.jboss.resteasy.resteasy-atom-provider" />
            <module name="org.jboss.resteasy.resteasy-cdi" />
            <module name="org.jboss.resteasy.resteasy-crypto" />
<!--        <module name="org.jboss.resteasy.resteasy-jackson-provider" /> --> 
            <module name="org.jboss.resteasy.resteasy-jaxb-provider" />
            <module name="org.jboss.resteasy.resteasy-jaxrs" />
            <module name="org.jboss.resteasy.resteasy-jettison-provider" />
            <module name="org.jboss.resteasy.resteasy-jsapi" />
            <module name="org.jboss.resteasy.resteasy-json-p-provider" />
            <module name="org.jboss.resteasy.resteasy-multipart-provider" />
            <module name="org.jboss.resteasy.resteasy-validator-provider-11" />
            <module name="org.jboss.resteasy.resteasy-yaml-provider" />
            <module name="org.codehaus.jackson.jackson-core-asl" />
            <module name="org.codehaus.jackson.jackson-jaxrs" />
            <module name="org.codehaus.jackson.jackson-mapper-asl" />
            <module name="org.codehaus.jackson.jackson-xc" />
            <module name="org.codehaus.jettison" />
            <module name="javax.ws.rs.api" />
        </exclusions>
        <dependencies>
            <module name="org.jboss.resteasy.resteasy-jackson-provider" services="import"/>
        </dependencies>
    </deployment>

最佳答案

我通过在 META-INF/services/javax.ws.rs.ext.Providers 文件中添加 org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider 解决了这个问题。

关于javax.ws.rs.ProcessingException : Unable to find a MessageBodyReader of content-type application/json and type class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56543103/

相关文章:

mysql - Wildfly 不会因解析异常错误而启动

java - @Resource数据源中断数据库连接

java - JPQL 中有 "SELECT 1"吗?

java - 程序执行 POI、JAVA 时从 Excel 电子表格读取插入的数据

java - web.xml 在 Eclipse Juno 中未更新

java - Log4j:多线程调用是同步的吗?

java - WildFly jdbc 与 Oracle 的连接

java - 串流安卓屏幕

java - 根据所选列使用 Arrays.sort 对二维字符串数组进行排序

java - 具有两个上下文的 JBOSS 7。一个使用 SSL Mutual Auth,另一个仅使用 SSL