Author: scheu
Date: Fri Oct  8 16:43:01 2010
New Revision: 1005893

URL: http://svn.apache.org/viewvc?rev=1005893&view=rev
Log:
AXIS2-4823
Contributor: Doug Larson
Committer: Rich Scheuerle

Slight improvement to wrapper lookup code.

Modified:
    
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
    
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMethodMarshaller.java
    
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/MethodMarshallerUtils.java

Modified: 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java?rev=1005893&r1=1005892&r2=1005893&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
 Fri Oct  8 16:43:01 2010
@@ -174,7 +174,7 @@ public interface Constants {
      * Default: null, which is interpreted as FALSE
      * 
      * Description:
-     * If the value is false, the jax-ws engine will detect and remove
+     * If the value is true, the jax-ws engine will detect and remove
      * illegal characters (characters not supported in xml) when writing
      * a JAXB data bean associated with a jaxws web method
      *  http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char

Modified: 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMethodMarshaller.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMethodMarshaller.java?rev=1005893&r1=1005892&r2=1005893&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMethodMarshaller.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMethodMarshaller.java
 Fri Oct  8 16:43:01 2010
@@ -38,6 +38,7 @@ import org.apache.axis2.jaxws.runtime.de
 import org.apache.axis2.jaxws.utility.ConvertUtils;
 import org.apache.axis2.jaxws.wrapper.JAXBWrapperTool;
 import org.apache.axis2.jaxws.wrapper.impl.JAXBWrapperToolImpl;
+import org.apache.axis2.jaxws.core.MessageContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -92,7 +93,9 @@ public class DocLitWrappedMethodMarshall
             
             // Remember this unmarshal information so that we can speed up 
processing
             // the next time.
-            if (shouldRegiserUnmarshalInfo(operationDesc, marshalDesc, 
endpointDesc)) {
+            MessageContext mc = message.getMessageContext();
+            if (MethodMarshallerUtils.getUnmarshalInfoParameter(mc) == null &&
+                shouldRegiserUnmarshalInfo(operationDesc, marshalDesc, 
endpointDesc)) {
                
MethodMarshallerUtils.registerUnmarshalInfo(message.getMessageContext(),
                                                         packages,
                                                         packagesKey);

Modified: 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/MethodMarshallerUtils.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/MethodMarshallerUtils.java?rev=1005893&r1=1005892&r2=1005893&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/MethodMarshallerUtils.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/MethodMarshallerUtils.java
 Fri Oct  8 16:43:01 2010
@@ -1411,6 +1411,30 @@ public class MethodMarshallerUtils {
      * @param packages
      * @param packagesKey
      */
+    static Parameter getUnmarshalInfoParameter(MessageContext mc) throws 
AxisFault {
+        
+        // The information is registered on the AxisOperation.
+        if (mc == null ||
+            mc.getAxisMessageContext() == null ||
+            mc.getAxisMessageContext().getAxisService() == null ||
+            mc.getAxisMessageContext().getAxisOperation() == null) {
+            return null;
+        }
+        
+        // This needs to be stored on the AxisOperation as unmarshalling
+        // info will be specific to a method and its parameters
+        AxisOperation axisOp = mc.getAxisMessageContext().getAxisOperation();
+        
+        Parameter param = axisOp.getParameter(UnmarshalInfo.KEY);
+        return param;
+    }
+    /**
+     * Register the unmarshalling information so that it can 
+     * be used to speed up subsequent marshalling events.
+     * @param mc
+     * @param packages
+     * @param packagesKey
+     */
     static void registerUnmarshalInfo(MessageContext mc, 
                                  TreeSet<String> packages, 
                                  String packagesKey) throws AxisFault {


Reply via email to