Jersey 2.x post调用引发严重错误:未找到媒体类型=应用程序/json的MessageBodyWriter

Jersey 2.x post调用引发严重错误:未找到媒体类型=应用程序/json的MessageBodyWriter,post,http-post,jersey-2.0,Post,Http Post,Jersey 2.0,我试着跟随,但我陷入了一个无法摆脱的例外。请求尚未到达服务器 例外情况 2015年7月9日下午6:59:42 org.glassfish.jersey.message.internal.writeringterceptorexecutor$terminalwriteringterceptor aroundWriteTo 严重:未找到媒体类型=应用程序/json、类型=class com.mcruiseon.airapi.tunnel.common.UserNamePassword、generi

我试着跟随,但我陷入了一个无法摆脱的例外。请求尚未到达服务器

例外情况

2015年7月9日下午6:59:42 org.glassfish.jersey.message.internal.writeringterceptorexecutor$terminalwriteringterceptor aroundWriteTo

严重:未找到媒体类型=应用程序/json、类型=class com.mcruiseon.airapi.tunnel.common.UserNamePassword、genericType=class com.mcruiseon.airapi.tunnel.common.UserNamePassword的MessageBodyWriter

邮电

@POST
    @Path("search/{origin}/{destination}/{flightSearchType}/{departureDayOfMonth}/{departureMonthOfYear}/{departureYear}/{returnDayOfMonth}/{returnMonthOfYear}/{returnYear}/{cabinClass}/{adultCount}/{childCount}/{infantCount}")
    @Consumes({ MediaType.APPLICATION_JSON })
    @Produces({ MediaType.APPLICATION_JSON })
    public Response search(@PathParam("origin") String origin,
            @PathParam("destination") String destination,
            @PathParam("flightSearchType") int flightSearchType,
            @PathParam("departureDayOfMonth") int departureDayOfMonth,
            @PathParam("departureMonthOfYear") int departureMonthOfYear,
            @PathParam("departureYear") int depatureYear,
            @PathParam("returnDayOfMonth") int returnDayOfMonth,
            @PathParam("returnMonthOfYear") int returnMonthOfYear,
            @PathParam("returnYear") int returnYear,
            @PathParam("cabinClass") int cabinClass,
            @PathParam("adultCount") int adultCount,
            @PathParam("childCount") int childCount,
            @PathParam("infantCount") int infantCount,
            JAXBElement<UserNamePassword> userNamePassword) {
编辑

我找到了。坦白地说,我不在乎,我只是想让它工作,所以我很高兴在ResourceConfig或ClientConfig属性中将
“jersey.config.workers.legacyOrdering”)设置为true。
。但是在哪里以及如何将这个变量设置为true呢。ClientConfig在哪里

我还将junit代码修改为

ClientConfig config = new ClientConfig();
config.property("jersey.config.workers.legacyOrdering", true);
这也不起作用

ClientConfig config = new ClientConfig();
config.property(MessageProperties.LEGACY_WORKERS_ORDERING, true);

我下载了Genson 1.3以使其正常工作。版本0.94不起作用。

是的,Genson的旧版本适用于jersey 1.x,最近的版本适用于jersey 1和jersey 2。
ClientConfig config = new ClientConfig();
config.property("jersey.config.workers.legacyOrdering", true);
ClientConfig config = new ClientConfig();
config.property(MessageProperties.LEGACY_WORKERS_ORDERING, true);