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 di...@apache.org on 2007/04/18 19:52:10 UTC

svn commit: r530104 - /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java

Author: dims
Date: Wed Apr 18 10:52:09 2007
New Revision: 530104

URL: http://svn.apache.org/viewvc?view=rev&rev=530104
Log:
log the SAAJEnvelope that caused the OMException

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java?view=diff&rev=530104&r1=530103&r2=530104
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java Wed Apr 18 10:52:09 2007
@@ -18,6 +18,7 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
 import org.apache.axis2.jaxws.ExceptionFactory;
@@ -25,6 +26,8 @@
 import org.apache.axis2.jaxws.message.util.SAAJConverter;
 import org.apache.axis2.jaxws.message.util.SOAPElementReader;
 import org.apache.axis2.jaxws.utility.SAAJFactory;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.Detail;
@@ -42,11 +45,21 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.ws.WebServiceException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.stream.StreamResult;
 import java.util.Iterator;
+import java.io.ByteArrayOutputStream;
 
 /** SAAJConverterImpl Provides an conversion methods between OM<->SAAJ */
 public class SAAJConverterImpl implements SAAJConverter {
 
+    private static final Log log = LogFactory.getLog(SAAJConverterImpl.class);
+
     /** Constructed via SAAJConverterFactory */
     SAAJConverterImpl() {
         super();
@@ -113,10 +126,26 @@
         //   b) add a method signature to allow the caller to request build or no build
         //   c) add a method signature to allow the caller to enable/disable caching
         //   d) possibly add an optimization to use OMSE for the body elements...to flatten the tree.
-        omEnvelope.build();
+        try {
+            omEnvelope.build();
+        } catch (OMException ex){
+            log.info("Got OMException for [" + toString(saajEnvelope) + "]");
+            throw ex;
+        }
         return omEnvelope;
     }
 
+    private String toString(SOAPEnvelope saajEnvelope) {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        Transformer tf;
+        try {
+            tf = TransformerFactory.newInstance().newTransformer();
+            tf.transform(new DOMSource(saajEnvelope.getOwnerDocument()), new StreamResult(baos));
+        } catch (TransformerException e) {
+            log.info(e);
+        }
+        return new String(baos.toByteArray());
+    }
 
     /* (non-Javadoc)
       * @see org.apache.axis2.jaxws.message.util.SAAJConverter#toOM(javax.xml.soap.SOAPElement)



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