[jbossws-commits] JBossWS SVN: r13928 - stack/native/branches/jbossws-native-3.4.0.SP1/modules/core/src/main/java/org/jboss/ws/core/soap.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Thu Mar 24 12:05:57 EDT 2011
Author: jim.ma
Date: 2011-03-24 12:05:57 -0400 (Thu, 24 Mar 2011)
New Revision: 13928
Modified:
stack/native/branches/jbossws-native-3.4.0.SP1/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java
Log:
[JBWS-3251]:Use element's OwnerDocument to create Child
Modified: stack/native/branches/jbossws-native-3.4.0.SP1/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java
===================================================================
--- stack/native/branches/jbossws-native-3.4.0.SP1/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java 2011-03-24 16:04:18 UTC (rev 13927)
+++ stack/native/branches/jbossws-native-3.4.0.SP1/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java 2011-03-24 16:05:57 UTC (rev 13928)
@@ -75,7 +75,7 @@
public SOAPElementImpl(String localPart, String prefix, String nsURI)
{
super(DOMUtils.createElement(localPart, prefix, nsURI));
- this.element = (Element)domNode;
+ this.element = (Element)domNode;
}
/** Called by SOAPFactory */
@@ -83,6 +83,13 @@
{
this(name.getLocalName(), name.getPrefix(), name.getURI());
}
+
+ /** Called by addChild */
+ private SOAPElementImpl(Element element)
+ {
+ super(element);
+ this.element = element;
+ }
/** Called by SOAPFactory */
public SOAPElementImpl(QName qname)
@@ -228,10 +235,19 @@
* @throws javax.xml.soap.SOAPException if there is an error in creating the SOAPElement object
*/
public SOAPElement addChildElement(Name name) throws SOAPException
- {
- SOAPElement soapElement = new SOAPElementImpl(name);
- soapElement = addChildElement(soapElement);
- return soapElement;
+ {
+ Document doc = this.element.getOwnerDocument();
+ Element childEle = null;
+ if (name.getPrefix() == null || name.getPrefix().length() == 0)
+ {
+ childEle = doc.createElementNS(name.getURI(), name.getLocalName());
+ } else
+ {
+ childEle = doc.createElementNS(name.getURI(), name.getPrefix() + ":" + name.getLocalName());
+ }
+
+ SOAPElement child = new SOAPElementImpl(childEle);
+ return addChildElement(child);
}
public SOAPElement addChildElement(QName qname) throws SOAPException
More information about the jbossws-commits
mailing list