You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/08/13 16:16:49 UTC

svn commit: r1372435 - /cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java

Author: dkulp
Date: Mon Aug 13 14:16:49 2012
New Revision: 1372435

URL: http://svn.apache.org/viewvc?rev=1372435&view=rev
Log:
Merged revisions 1372430 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes

........
  r1372430 | dkulp | 2012-08-13 10:08:15 -0400 (Mon, 13 Aug 2012) | 10 lines

  Merged revisions 1372428 via  git cherry-pick from
  https://svn.apache.org/repos/asf/cxf/trunk

  ........
    r1372428 | dkulp | 2012-08-13 10:06:17 -0400 (Mon, 13 Aug 2012) | 2 lines

    Use a contextual property check.  Slightly faster and provides broader ability to set it.

  ........

........

Modified:
    cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java

Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java?rev=1372435&r1=1372434&r2=1372435&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java (original)
+++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java Mon Aug 13 14:16:49 2012
@@ -35,8 +35,8 @@ import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageContentsList;
+import org.apache.cxf.message.MessageUtils;
 import org.apache.cxf.phase.Phase;
-import org.apache.cxf.service.Service;
 import org.apache.cxf.service.model.BindingMessageInfo;
 import org.apache.cxf.service.model.BindingOperationInfo;
 import org.apache.cxf.service.model.MessageInfo;
@@ -196,10 +196,10 @@ public class DocLiteralInInterceptor ext
                     
                     //Make sure the elName found on the wire is actually OK for 
                     //the purpose we need it
-                    validatePart(p, elName, si, ep.getService());
+                    validatePart(p, elName, message);
              
                     o = dr.read(p, xmlReader);
-                    if (Boolean.TRUE.equals(si.getProperty("soap.force.doclit.bare")) 
+                    if (MessageUtils.getContextualBoolean(message, "soap.force.doclit.bare", false) 
                         && parameters.isEmpty()) {
                         // webservice provider does not need to ensure size
                         parameters.add(o);
@@ -224,7 +224,7 @@ public class DocLiteralInInterceptor ext
         }
     }
     
-    private void validatePart(MessagePartInfo p, QName elName, ServiceInfo si, Service service) {
+    private void validatePart(MessagePartInfo p, QName elName, Message m) {
         if (p == null) {
             throw new Fault(new org.apache.cxf.common.i18n.Message("NO_PART_FOUND", LOG, elName),
                             Fault.FAULT_CODE_CLIENT);
@@ -239,8 +239,8 @@ public class DocLiteralInInterceptor ext
                 synth = b;
             }
         }
-        if ((si != null && Boolean.TRUE.equals(si.getProperty("soap.force.doclit.bare")))
-             || (service != null && Boolean.TRUE.equals(service.get("soap.force.doclit.bare")))) {
+        
+        if (MessageUtils.getContextualBoolean(m, "soap.force.doclit.bare", false)) {
             // something like a Provider service or similar that is forcing a
             // doc/lit/bare on an endpoint that may not really be doc/lit/bare.  
             // we need to just let these through per spec so the endpoint