You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by em...@apache.org on 2012/01/05 06:32:46 UTC

svn commit: r1227490 - in /cxf/trunk/rt/frontend/jaxws/src: main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java test/java/org/apache/cxf/jaxws/context/WebServiceContextImplTest.java

Author: ema
Date: Thu Jan  5 05:32:45 2012
New Revision: 1227490

URL: http://svn.apache.org/viewvc?rev=1227490&view=rev
Log:
[CXF-3989]:messageConetxt.setScope(MessageContext.HTTP_REQUEST_HEADERS, Scope.APPLICATION) leads to java.lang.IllegalArgumentException

Modified:
    cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
    cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WebServiceContextImplTest.java

Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java?rev=1227490&r1=1227489&r2=1227490&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java Thu Jan  5 05:32:45 2012
@@ -484,7 +484,7 @@ public class WrappedMessageContext imple
     }
 
     public final void setScope(String key, Scope arg1) {
-        if (!this.containsKey(key)) {
+        if (!this.containsKey(key) && !scopes.containsKey(key)) {
             throw new IllegalArgumentException("non-existant property-" + key + "is specified");    
         }
         scopes.put(key, arg1);        

Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WebServiceContextImplTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WebServiceContextImplTest.java?rev=1227490&r1=1227489&r2=1227490&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WebServiceContextImplTest.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WebServiceContextImplTest.java Thu Jan  5 05:32:45 2012
@@ -21,7 +21,13 @@ package org.apache.cxf.jaxws.context;
 
 
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.MessageContext.Scope;
 
 import org.apache.cxf.message.MessageImpl;
 import org.junit.After;
@@ -71,5 +77,19 @@ public class WebServiceContextImplTest e
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
-    } 
+    }
+    
+    // CXF-3989
+    @Test
+    @SuppressWarnings("unchecked")
+    public void testSetHttpRequestHeadersScope() {
+        MessageImpl msg = new MessageImpl();
+        MessageContext context = new WrappedMessageContext(msg);
+        Map headers = new HashMap<String, List<String>>();
+        List<String> values = new ArrayList<String>();
+        values.add("Value1");
+        headers.put("Header1", values);
+        context.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
+        context.setScope(MessageContext.HTTP_REQUEST_HEADERS, Scope.APPLICATION);
+    }
 }