This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new 9d259f3 [CXF-7689]ensure don't have content-type|content-length as
jms message headers when use REST on JMS Transport
9d259f3 is described below
commit 9d259f3aa498228c19a16d9c6eab297c8f35cdb3
Author: Freeman Fang <[email protected]>
AuthorDate: Mon Mar 26 12:31:14 2018 +0800
[CXF-7689]ensure don't have content-type|content-length as jms message
headers when use REST on JMS Transport
---
.../java/org/apache/cxf/transport/jms/JMSConstants.java | 2 ++
.../org/apache/cxf/transport/jms/JMSMessageUtils.java | 17 ++++++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git
a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConstants.java
b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConstants.java
index c981630..0387b3c 100644
---
a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConstants.java
+++
b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConstants.java
@@ -76,6 +76,8 @@ public final class JMSConstants {
public static final String MALFORMED_REQUESTURI = "malformed.requesturi";
public static final String RS_CONTENT_TYPE =
"org.apache.cxf.jms.rs.ContentType";
+
+ public static final String RS_CONTENT_LENGTH =
"org.apache.cxf.jms.rs.ContentLength";
private JMSConstants() {
//utility class
diff --git
a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
index 669c903..e52f163 100644
---
a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
+++
b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
@@ -251,13 +251,28 @@ final class JMSMessageUtils {
outMessage,
org.apache.cxf.message.Message.RESPONSE_CODE);
}
+ String contentType =
(String)outMessage.remove(org.apache.cxf.message.Message.CONTENT_TYPE);
+ if (contentType != null) {
+ outMessage.put(JMSConstants.RS_CONTENT_TYPE, contentType);
+ }
addJMSPropertyFromMessage(messageHeaders,
outMessage,
JMSConstants.RS_CONTENT_TYPE);
+
+ String contentLength =
(String)outMessage.remove(HttpHeaderHelper.CONTENT_LENGTH);
+ if (contentLength != null) {
+ outMessage.put(JMSConstants.RS_CONTENT_LENGTH, contentLength);
+ }
+ addJMSPropertyFromMessage(messageHeaders,
+ outMessage,
+ JMSConstants.RS_CONTENT_LENGTH);
}
if (headers != null) {
for (Map.Entry<String, List<String>> ent : headers.entrySet()) {
- messageHeaders.putProperty(ent.getKey(),
JMSMessageUtils.join(ent.getValue(), ','));
+ if
(!ent.getKey().equals(org.apache.cxf.message.Message.CONTENT_TYPE)
+ && !ent.getKey().equals(HttpHeaderHelper.CONTENT_LENGTH)) {
+ messageHeaders.putProperty(ent.getKey(),
JMSMessageUtils.join(ent.getValue(), ','));
+ }
}
}
messageHeaders.writeTo(jmsMessage);
--
To stop receiving notification emails like this one, please contact
[email protected].