Author: darran.lofthouse(a)jboss.com
Date: 2006-11-13 19:04:05 -0500 (Mon, 13 Nov 2006)
New Revision: 1419
Modified:
trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java
Log:
JBWS-1353 - Fixed check for SAXSource and also added check for Node type for DOMSource
Modified: trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java 2006-11-09 14:06:08 UTC (rev
1418)
+++ trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java 2006-11-14 00:04:05 UTC (rev
1419)
@@ -32,7 +32,6 @@
import java.util.Iterator;
import java.util.Locale;
-import javax.xml.bind.util.JAXBSource;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
@@ -42,6 +41,7 @@
import javax.xml.transform.Source;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
@@ -346,9 +346,21 @@
else if (payload instanceof DOMSource)
{
DOMSource domSource = (DOMSource)payload;
- child = (Element)domSource.getNode();
+ Node node = domSource.getNode();
+ if (node instanceof Element)
+ {
+ child = (Element)node;
+ }
+ else if (node instanceof Document)
+ {
+ child = ((Document)node).getDocumentElement();
+ }
+ else
+ {
+ throw new WSException("Unsupported Node type: " +
node.getClass().getName());
+ }
}
- else if (payload instanceof JAXBSource)
+ else if (payload instanceof SAXSource)
{
// The fact that JAXBSource derives from SAXSource is an implementation
detail.
// Thus in general applications are strongly discouraged from accessing
methods defined on SAXSource.
Show replies by date