diff --git a/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/RestComponent.java b/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/RestComponent.java index 51fa9d8e1..b1a0f9b94 100755 --- a/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/RestComponent.java +++ b/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/RestComponent.java @@ -366,6 +366,7 @@ public class RestComponent implements Component, ComponentLifeCycle { final Map initParams = new HashMap(); initParams.put("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jbi.restbc.jbiadapter.inbound.JerseyRootResourceApplication"); + initParams.put("com.sun.jersey.spi.container.ContainerResponseFilters", "com.sun.jbi.restbc.jbiadapter.inbound.CharsetResponseFilter"); for (Map.Entry e : initParams.entrySet()) { adapter.addInitParameter(e.getKey(), e.getValue()); @@ -459,6 +460,7 @@ public class RestComponent implements Component, ComponentLifeCycle { final Map initParams = new HashMap(); initParams.put("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jbi.restbc.jbiadapter.inbound.JerseyRootResourceApplication"); + initParams.put("com.sun.jersey.spi.container.ContainerResponseFilters", "com.sun.jbi.restbc.jbiadapter.inbound.CharsetResponseFilter"); for (Map.Entry e : initParams.entrySet()) { adapter.addInitParameter(e.getKey(), e.getValue()); diff --git a/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/inbound/CharsetResponseFilter.java b/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/inbound/CharsetResponseFilter.java new file mode 100644 index 000000000..75739e784 --- /dev/null +++ b/ojc-core/restbc/jbiadapter/src/com/sun/jbi/restbc/jbiadapter/inbound/CharsetResponseFilter.java @@ -0,0 +1,23 @@ +package com.sun.jbi.restbc.jbiadapter.inbound; + +import com.sun.jersey.spi.container.ContainerRequest; +import com.sun.jersey.spi.container.ContainerResponse; +import com.sun.jersey.spi.container.ContainerResponseFilter; +import javax.ws.rs.core.HttpHeaders; +import javax.ws.rs.core.MediaType; + +/** + * + * @author David BRASSELY (brasseld at gmail.com) + * @author OpenESB Community + */ +public class CharsetResponseFilter implements ContainerResponseFilter { + + public ContainerResponse filter(ContainerRequest request, ContainerResponse response) { + + MediaType contentType = (MediaType) response.getHttpHeaders().get(HttpHeaders.CONTENT_TYPE).iterator().next(); + response.getHttpHeaders().putSingle("Content-Type", contentType.toString() + ";charset=UTF-8"); + + return response; + } +}