diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBinding.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBinding.java index bf4cc7dbf19..815ad5cbd71 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBinding.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBinding.java @@ -52,6 +52,7 @@ public org.apache.cxf.message.Message createMessage(org.apache.cxf.message.Messa if (exchange != null) { ct = (String)exchange.get(org.apache.cxf.message.Message.CONTENT_TYPE); } + m.put(org.apache.cxf.message.Message.CONTENT_TYPE, ct); } return m; diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java index 376131af49a..cc063a07ddc 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java @@ -380,8 +380,8 @@ private boolean isWSAddressingReplyToSpecified(Exchange ex) { } String contentType = req.getContentType(); inMessage.put(Message.CONTENT_TYPE, contentType); - setEncoding(inMessage, req, contentType); + setEncoding(inMessage, req, contentType); inMessage.put(Message.QUERY_STRING, req.getQueryString()); inMessage.put(Message.ACCEPT_CONTENT_TYPE, req.getHeader("Accept")); diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java index 5df6f727d16..fbf61e9967b 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java @@ -448,7 +448,12 @@ protected void copyFromRequest(HttpServletRequest req) { } } if (!headers.containsKey(Message.CONTENT_TYPE)) { - headers.put(Message.CONTENT_TYPE, Collections.singletonList(req.getContentType())); + final String contentType = req.getContentType(); + if (contentType != null) { + headers.put(Message.CONTENT_TYPE, Collections.singletonList(contentType)); + } else { + headers.put(Message.CONTENT_TYPE, null); + } } if (LOG.isLoggable(Level.FINE)) { Map> theHeaders = CastUtils.cast(headers);