Author: dkulp
Date: Wed Apr 18 09:56:52 2007
New Revision: 530089

URL: http://svn.apache.org/viewvc?view=rev&rev=530089
Log:
Don't clear request properties between invokations. Fix potential NPE in 
servlet.

Modified:
    
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/Messages.properties
    
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
    
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
    
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
    
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java

Modified: 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/Messages.properties
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/Messages.properties?view=diff&rev=530089&r1=530088&r2=530089
==============================================================================
--- 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/Messages.properties
 (original)
+++ 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/Messages.properties
 Wed Apr 18 09:56:52 2007
@@ -25,4 +25,4 @@
 PARSER_EXC=Could not create DOM DocumentBuilder.
 NO_OPERATION=No such operation: {0}
 ATTACHMENT_IO=Attachment IO Exception: {0}
-INVALID_VERSION="{0}" is not a valid SOAP version.
\ No newline at end of file
+INVALID_VERSION="{0}" is not a valid SOAP version.

Modified: 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java?view=diff&rev=530089&r1=530088&r2=530089
==============================================================================
--- 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
 (original)
+++ 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
 Wed Apr 18 09:56:52 2007
@@ -77,8 +77,8 @@
                 
                 SoapVersion soapVersion = 
SoapVersionFactory.getInstance().getSoapVersion(ns);
                 if (soapVersion == null) {
-                    throw new SoapFault(new Message("INVALID_VERSION", LOG, 
ns), Soap11.getInstance()
-                        .getSender());
+                    throw new SoapFault(new Message("INVALID_VERSION", BUNDLE, 
ns),
+                                            Soap11.getInstance().getSender());
                 }
                 message.setVersion(soapVersion);
 

Modified: 
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java?view=diff&rev=530089&r1=530088&r2=530089
==============================================================================
--- 
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
 (original)
+++ 
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
 Wed Apr 18 09:56:52 2007
@@ -95,10 +95,9 @@
         if (null == params) {
             params = new Object[0];
         }
-        Map<String, Object> reqContext = this.getRequestContext();        
+        Map<String, Object> reqContext = new HashMap<String, 
Object>(this.getRequestContext());        
         Map<String, Object> respContext = this.getResponseContext();
-        // Clear the request ThreadLocal variable        
-        clearContext(requestContext);
+        
         // Clear the response context's hold information
         // Not call the clear Context is to avoid the error 
         // that getResponseContext() could be called by Client code first
@@ -147,12 +146,7 @@
             return r;
         }
     }
-    
-    private void clearContext(ThreadLocal<Map<String, Object>> context) {
-        if (null != context.get()) {
-            context.set(null);
-        }
-    }
+
 
     public Map<String, Object> getRequestContext() {
         if (null == requestContext.get()) {

Modified: 
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java?view=diff&rev=530089&r1=530088&r2=530089
==============================================================================
--- 
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
 (original)
+++ 
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
 Wed Apr 18 09:56:52 2007
@@ -158,7 +158,7 @@
             // work around a bug with Jetty which results in the character
             // encoding not being trimmed correctly.
             String enc = request.getCharacterEncoding();
-            if (enc.endsWith("\"")) {
+            if (enc != null && enc.endsWith("\"")) {
                 enc = enc.substring(0, enc.length() - 1);
             }
             

Modified: 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java?view=diff&rev=530089&r1=530088&r2=530089
==============================================================================
--- 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java
 (original)
+++ 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/ClientServerTest.java
 Wed Apr 18 09:56:52 2007
@@ -700,9 +700,14 @@
                                    realAddress);
         greeter.greetMe("test");
 
+        //should persist
+        greeter.greetMe("test");
+
+        
bp.getRequestContext().remove(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
+        
         try {
             greeter.greetMe("test");
-            fail("expected address override not to persist beyond a single 
invocation");
+            fail("Should fail");
         } catch (Fault f) {
             // expected
         }


Reply via email to