You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by nt...@apache.org on 2007/01/26 21:02:14 UTC

svn commit: r500320 - /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java

Author: nthaker
Date: Fri Jan 26 12:02:13 2007
New Revision: 500320

URL: http://svn.apache.org/viewvc?view=rev&rev=500320
Log:
AXIS2-2041 
Contributor - Samuel Isokpunwu

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java?view=diff&rev=500320&r1=500319&r2=500320
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java Fri Jan 26 12:02:13 2007
@@ -42,6 +42,7 @@
 import org.apache.axis2.jaxws.message.databinding.XSDListUtils;
 import org.apache.axis2.jaxws.message.factory.BlockFactory;
 import org.apache.axis2.jaxws.message.impl.BlockImpl;
+import org.apache.axis2.jaxws.util.JavaUtils;
 import org.apache.axis2.jaxws.util.XMLRootElementUtil;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -54,6 +55,7 @@
 public class JAXBBlockImpl extends BlockImpl implements JAXBBlock {
 
     private static final Log log = LogFactory.getLog(JAXBBlockImpl.class);
+    private static final String XMLNS = "xmlns=\"\" xmlns:xmlns=\"http://www.w3.org/2000/xmlns/\"";
     
 	/**
 	 * Called by JAXBBlockFactory
@@ -148,6 +150,21 @@
 		writer.flush();
 		sw.flush();
 		String str = sw.toString();
+		
+		// REVIEW ALERT
+		// Sometimes JAXB emits xmlns="" xmlns:xmlns..., which is invalid.
+		// The following lines of code removes this attribute.
+		// This seems to be related to MTOM..it has never failed in 
+		// other cases
+		if (isMTOMEnabled()) {
+			if (log.isDebugEnabled()) {
+				log.debug("JAXB marshalled the xml as: " + str);
+			}
+			str = JavaUtils.replace(str, XMLNS, "");
+			if (log.isDebugEnabled()) {
+				log.debug("XML text after inspection: " + str);
+			}
+		}
         writer.close();
 		
 		// Return a reader backed by the string



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org