JBossWS SVN: r11783 - stack/cxf/trunk/modules/testsuite.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-03-15 09:57:37 -0400 (Mon, 15 Mar 2010)
New Revision: 11783
Modified:
stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt
stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt
stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt
stack/cxf/trunk/modules/testsuite/test-excludes-jboss601.txt
Log:
[JBWS-2960] excluding test
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt 2010-03-15 13:22:23 UTC (rev 11782)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt 2010-03-15 13:57:37 UTC (rev 11783)
@@ -50,3 +50,7 @@
# [JBWS-2895] JAX-RPC available from AS 6.0.0.M3
org/jboss/test/ws/jaxrpc/**
+
+# [JBWS-2960] TODO
+org/jboss/test/ws/jaxws/jbws2960/*TestCase.*
+
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt 2010-03-15 13:22:23 UTC (rev 11782)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt 2010-03-15 13:57:37 UTC (rev 11783)
@@ -50,3 +50,7 @@
# [JBWS-2895] JAX-RPC available from AS 6.0.0.M3
org/jboss/test/ws/jaxrpc/**
+
+# [JBWS-2960] TODO
+org/jboss/test/ws/jaxws/jbws2960/*TestCase.*
+
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt 2010-03-15 13:22:23 UTC (rev 11782)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt 2010-03-15 13:57:37 UTC (rev 11783)
@@ -50,3 +50,7 @@
# [JBWS-2895] JAX-RPC available from AS 6.0.0.M3
org/jboss/test/ws/jaxrpc/**
+
+# [JBWS-2960] TODO
+org/jboss/test/ws/jaxws/jbws2960/*TestCase.*
+
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss601.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss601.txt 2010-03-15 13:22:23 UTC (rev 11782)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss601.txt 2010-03-15 13:57:37 UTC (rev 11783)
@@ -46,3 +46,7 @@
org/jboss/test/ws/jaxws/jbws2937/**
org/jboss/test/ws/jaxws/jbws2942/**
org/jboss/test/ws/jaxws/endpointReference/EndpointReferenceBuilderTestCase.*
+
+# [JBWS-2960] TODO
+org/jboss/test/ws/jaxws/jbws2960/*TestCase.*
+
14 years, 3 months
JBossWS SVN: r11782 - common/trunk/src/main/java/org/jboss/wsf/common.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-15 09:22:23 -0400 (Mon, 15 Mar 2010)
New Revision: 11782
Modified:
common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java
Log:
Fix some warnings using generics
Modified: common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java 2010-03-15 13:20:12 UTC (rev 11781)
+++ common/trunk/src/main/java/org/jboss/wsf/common/DOMUtils.java 2010-03-15 13:22:23 UTC (rev 11782)
@@ -134,6 +134,7 @@
}
}
+ @SuppressWarnings("deprecation")
private void setEntityResolver(DocumentBuilder builder)
{
EntityResolver entityResolver = null;
@@ -452,9 +453,9 @@
/** Get the attributes as Map<QName, String>
*/
- public static Map getAttributes(Element el)
+ public static Map<QName, String> getAttributes(Element el)
{
- Map attmap = new HashMap();
+ Map<QName, String> attmap = new HashMap<QName, String>();
NamedNodeMap attribs = el.getAttributes();
int len = attribs.getLength();
for (int i = 0; i < len; i++)
@@ -493,7 +494,7 @@
}
}
}
-
+
/** True if the node has text child elements only
*/
public static boolean hasTextChildNodesOnly(Node node)
@@ -609,7 +610,7 @@
private static Element getFirstChildElementIntern(Node node, QName nodeName, boolean recursive)
{
Element childElement = null;
- Iterator it = getChildElementsIntern(node, nodeName, recursive);
+ Iterator<Element> it = getChildElementsIntern(node, nodeName, recursive);
if (it.hasNext())
{
childElement = (Element)it.next();
@@ -619,28 +620,28 @@
/** Gets the child elements for a given local name without namespace
*/
- public static Iterator getChildElements(Node node, String nodeName)
+ public static Iterator<Element> getChildElements(Node node, String nodeName)
{
return getChildElements(node, nodeName, false);
}
/** Gets the child elements for a given local name without namespace
*/
- public static Iterator getChildElements(Node node, String nodeName, boolean recursive)
+ public static Iterator<Element> getChildElements(Node node, String nodeName, boolean recursive)
{
return getChildElementsIntern(node, new QName(nodeName), recursive);
}
/** Gets the child element for a given qname
*/
- public static Iterator getChildElements(Node node, QName nodeName)
+ public static Iterator<Element> getChildElements(Node node, QName nodeName)
{
return getChildElements(node, nodeName, false);
}
/** Gets the child element for a given qname
*/
- public static Iterator getChildElements(Node node, QName nodeName, boolean recursive)
+ public static Iterator<Element> getChildElements(Node node, QName nodeName, boolean recursive)
{
return getChildElementsIntern(node, nodeName, recursive);
}
@@ -719,7 +720,7 @@
}
}
- private static Iterator getChildElementsIntern(Node node, QName nodeName, boolean recursive)
+ private static Iterator<Element> getChildElementsIntern(Node node, QName nodeName, boolean recursive)
{
return getChildElementsAsListIntern(node, nodeName, recursive).iterator();
}
14 years, 3 months
JBossWS SVN: r11781 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-15 09:20:12 -0400 (Mon, 15 Mar 2010)
New Revision: 11781
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java
Log:
[JBWS-2940] Further clean up message when moving from XML_VALID to DOM_VALID
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java 2010-03-15 13:18:17 UTC (rev 11780)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java 2010-03-15 13:20:12 UTC (rev 11781)
@@ -313,19 +313,28 @@
// Remove all child nodes
container.removeContents();
- // In case of dispatch and provider we use artifical element names
+ // In case of dispatch and provider we use artificial element names
// These need to be replaced (costly!)
if (artificalElement)
{
container.setElementQNameInternal(contentRootName);
}
- Document ownerDoc = container.getOwnerDocument();
+ // Process attributes: we copy from the fragment element to the previous container element, after having cleaned the latter
+ // to prevent useless / redundant namespace declarations with multiple prefixes. We also update the prefix of the container
+ // element to ensure proper namespace is configured for it
+ String oldPrefix = container.getPrefix();
+ if (oldPrefix != null)
+ {
+ container.removeNamespaceDeclaration(oldPrefix);
+ }
DOMUtils.copyAttributes(container, domElement);
container.setPrefix(domElement.getPrefix());
SOAPFactoryImpl soapFactory = new SOAPFactoryImpl();
+ // Add new child nodes
+ Document ownerDoc = container.getOwnerDocument();
NodeList nlist = domElement.getChildNodes();
for (int i = 0; i < nlist.getLength(); i++)
{
14 years, 3 months
JBossWS SVN: r11780 - in stack/native/trunk/modules/core/src/main/java/org/jboss/ws: extensions/security and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-15 09:18:17 -0400 (Mon, 15 Mar 2010)
New Revision: 11780
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
Log:
[JBWS-2962] Move to DOM_VALID state of soap content model when performing encryption/sign
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java 2010-03-15 12:47:09 UTC (rev 11779)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java 2010-03-15 13:18:17 UTC (rev 11780)
@@ -51,6 +51,7 @@
import org.jboss.ws.WSException;
import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.core.SOAPMessageAbstraction;
+import org.jboss.ws.core.soap.SOAPContent.State;
import org.jboss.ws.core.soap.attachment.AttachmentPartImpl;
import org.jboss.ws.core.soap.attachment.CIDGenerator;
import org.jboss.ws.core.soap.attachment.MimeConstants;
@@ -60,6 +61,8 @@
import org.jboss.ws.extensions.xop.XOPContext;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.OperationMetaData;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
/**
* The root class for all SOAP messages. As transmitted on the "wire", a SOAP message is an XML document or a
@@ -567,7 +570,7 @@
if (attachment == null)
{
- // autogenerated CID based on part name
+ // auto-generated CID based on part name
attachment = getAttachmentByPartName(ref);
}
@@ -601,4 +604,41 @@
while (attachmentItr.next() != null)
attachmentItr.remove();
}
+
+ public void prepareForDOMAccess() throws SOAPException
+ {
+ prepareForSpecificAccess(State.DOM_VALID);
+ }
+
+ private void prepareForSpecificAccess(State state) throws SOAPException
+ {
+ List<SOAPContentElement> contentElements = new LinkedList<SOAPContentElement>();
+ SOAPBody soapBody = this.getSOAPBody();
+ NodeList nodes = soapBody.getChildNodes();
+ for (int i = 0; i < nodes.getLength(); i++)
+ {
+ Node current = nodes.item(i);
+ if (current instanceof SOAPContentElement)
+ {
+ contentElements.add((SOAPContentElement)current);
+ break;
+ }
+ }
+ SOAPHeader soapHeader = this.getSOAPHeader();
+ nodes = soapHeader.getChildNodes();
+ for (int i = 0; i < nodes.getLength(); i++)
+ {
+ Node current = nodes.item(i);
+ if (current instanceof SOAPContentElement)
+ {
+ contentElements.add((SOAPContentElement)current);
+ break;
+ }
+ }
+ for (SOAPContentElement sce : contentElements)
+ {
+ sce.transitionTo(state);
+ }
+ }
+
}
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2010-03-15 12:47:09 UTC (rev 11779)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2010-03-15 13:18:17 UTC (rev 11780)
@@ -215,6 +215,11 @@
SecurityStore securityStore = new SecurityStore(configuration.getKeyStoreURL(), configuration.getKeyStoreType(), configuration.getKeyStorePassword(),
configuration.getKeyPasswords(), configuration.getTrustStoreURL(), configuration.getTrustStoreType(), configuration.getTrustStorePassword());
SecurityEncoder encoder = new SecurityEncoder(operations, securityStore);
+
+ if ((sign != null || encrypt != null) && message instanceof SOAPMessageImpl)
+ {
+ ((SOAPMessageImpl)message).prepareForDOMAccess();
+ }
encoder.encode(message.getSOAPPart());
}
catch (WSSecurityException e)
14 years, 3 months
JBossWS SVN: r11779 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-15 08:47:09 -0400 (Mon, 15 Mar 2010)
New Revision: 11779
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java
Log:
Remove some warnings by using generics where required
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java 2010-03-15 10:13:13 UTC (rev 11778)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java 2010-03-15 12:47:09 UTC (rev 11779)
@@ -232,14 +232,14 @@
return super.addTextNode(value);
}
- public Iterator getChildElements()
+ public Iterator<org.w3c.dom.Node> getChildElements()
{
log.trace("getChildElements");
expandToDOM();
return super.getChildElements();
}
- public Iterator getChildElements(Name name)
+ public Iterator<SOAPElement> getChildElements(Name name)
{
if (log.isTraceEnabled())
log.trace("getChildElements: [name=" + name + "]");
@@ -254,7 +254,7 @@
super.removeContents();
}
- public Iterator getAllAttributes()
+ public Iterator<Name> getAllAttributes()
{
return super.getAllAttributes();
}
@@ -326,7 +326,7 @@
return super.getEncodingStyle();
}
- public Iterator getNamespacePrefixes()
+ public Iterator<String> getNamespacePrefixes()
{
return super.getNamespacePrefixes();
}
@@ -346,7 +346,7 @@
return super.getTagName();
}
- public Iterator getVisibleNamespacePrefixes()
+ public Iterator<String> getVisibleNamespacePrefixes()
{
return super.getVisibleNamespacePrefixes();
}
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java 2010-03-15 10:13:13 UTC (rev 11778)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPElementImpl.java 2010-03-15 12:47:09 UTC (rev 11779)
@@ -335,9 +335,9 @@
*
* @return an iterator over the names of the attributes
*/
- public Iterator getAllAttributes()
+ public Iterator<Name> getAllAttributes()
{
- ArrayList list = new ArrayList();
+ ArrayList<Name> list = new ArrayList<Name>();
NamedNodeMap nnm = getAttributes();
int len = nnm.getLength();
for (int i = 0; i < len; i++)
@@ -363,9 +363,9 @@
return list.iterator();
}
- public Iterator getAllAttributesAsQNames()
+ public Iterator<QName> getAllAttributesAsQNames()
{
- ArrayList list = new ArrayList();
+ ArrayList<QName> list = new ArrayList<QName>();
NamedNodeMap nnm = getAttributes();
int len = nnm.getLength();
for (int i = 0; i < len; i++)
@@ -450,9 +450,9 @@
*
* @return an iterator with the content of this SOAPElement object
*/
- public Iterator getChildElements()
+ public Iterator<org.w3c.dom.Node> getChildElements()
{
- List list = new ArrayList();
+ List<org.w3c.dom.Node> list = new ArrayList<org.w3c.dom.Node>();
NodeList nodeList = getChildNodes();
int len = nodeList.getLength();
for (int i = 0; i < len; i++)
@@ -504,15 +504,15 @@
* @param name a Name object with the name of the child elements to be returned
* @return an Iterator object over all the elements in this SOAPElement object with the specified name
*/
- public Iterator getChildElements(Name name)
+ public Iterator<SOAPElement> getChildElements(Name name)
{
return getChildElements(((NameImpl)name).toQName());
}
- public Iterator getChildElements(QName qname)
+ public Iterator<SOAPElement> getChildElements(QName qname)
{
List<SOAPElement> list = new ArrayList<SOAPElement>();
- Iterator it = getChildElements();
+ Iterator<org.w3c.dom.Node> it = getChildElements();
while (it.hasNext())
{
Object elementOrTextNode = it.next();
@@ -558,15 +558,15 @@
*
* @return an iterator over the namespace prefixes in this SOAPElement object
*/
- public Iterator getNamespacePrefixes()
+ public Iterator<String> getNamespacePrefixes()
{
- ArrayList list = getNamespacePrefixList();
+ ArrayList<String> list = getNamespacePrefixList();
return list.iterator();
}
- private ArrayList getNamespacePrefixList()
+ private ArrayList<String> getNamespacePrefixList()
{
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
NamedNodeMap attrMap = element.getAttributes();
int len = attrMap.getLength();
for (int i = 0; i < len; i++)
@@ -601,9 +601,9 @@
*
* @return an iterator over the namespace prefixes are within scope of this SOAPElement object
*/
- public Iterator getVisibleNamespacePrefixes()
+ public Iterator<String> getVisibleNamespacePrefixes()
{
- ArrayList list = getNamespacePrefixList();
+ ArrayList<String> list = getNamespacePrefixList();
SOAPElementImpl parent = (SOAPElementImpl)getParentElement();
while (parent != null)
{
@@ -644,7 +644,7 @@
*/
public void removeContents()
{
- Iterator it = getChildElements();
+ Iterator<org.w3c.dom.Node> it = getChildElements();
while (it.hasNext())
{
Node el = (Node)it.next();
@@ -750,6 +750,7 @@
return element.setAttributeNodeNS(newAttr);
}
+ @SuppressWarnings("unchecked")
public NodeList getElementsByTagName(String name)
{
List<Element> nodes = DOMUtils.getChildElementsAsList(this, (QName)null, true);
@@ -788,6 +789,7 @@
return (attr == null) ? null : new AttrImpl(this, attr);
}
+ @SuppressWarnings("unchecked")
public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
{
List<Element> nodes = DOMUtils.getChildElementsAsList(this, (QName)null, true);
@@ -860,7 +862,7 @@
writer.write("<" + qualName);
// namespaces
- Iterator nsPrefixes = getNamespacePrefixes();
+ Iterator<String> nsPrefixes = getNamespacePrefixes();
while (nsPrefixes.hasNext())
{
String prefix = (String)nsPrefixes.next();
@@ -868,7 +870,7 @@
}
// attributes
- Iterator attNames = getAllAttributes();
+ Iterator<Name> attNames = getAllAttributes();
while (attNames.hasNext())
{
NameImpl name = (NameImpl)attNames.next();
@@ -885,7 +887,7 @@
protected void writeElementContent(Writer out) throws IOException
{
- Iterator it = getChildElements();
+ Iterator<org.w3c.dom.Node> it = getChildElements();
if (it.hasNext())
{
while (it.hasNext())
14 years, 3 months
JBossWS SVN: r11778 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-15 06:13:13 -0400 (Mon, 15 Mar 2010)
New Revision: 11778
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java
Log:
Protect expensive trace logging with isTraceEnabled
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java 2010-03-12 18:37:54 UTC (rev 11777)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/SOAPContentElement.java 2010-03-15 10:13:13 UTC (rev 11778)
@@ -186,42 +186,48 @@
public SOAPElement addChildElement(SOAPElement child) throws SOAPException
{
- log.trace("addChildElement: " + child);
+ if (log.isTraceEnabled())
+ log.trace("addChildElement: " + child);
expandToDOM();
return super.addChildElement(child);
}
public SOAPElement addChildElement(String localName, String prefix) throws SOAPException
{
- log.trace("addChildElement: [localName=" + localName + ",prefix=" + prefix + "]");
+ if (log.isTraceEnabled())
+ log.trace("addChildElement: [localName=" + localName + ",prefix=" + prefix + "]");
expandToDOM();
return super.addChildElement(localName, prefix);
}
public SOAPElement addChildElement(String localName, String prefix, String uri) throws SOAPException
{
- log.trace("addChildElement: [localName=" + localName + ",prefix=" + prefix + ",uri=" + uri + "]");
+ if (log.isTraceEnabled())
+ log.trace("addChildElement: [localName=" + localName + ",prefix=" + prefix + ",uri=" + uri + "]");
expandToDOM();
return super.addChildElement(localName, prefix, uri);
}
public SOAPElement addChildElement(Name name) throws SOAPException
{
- log.trace("addChildElement: [name=" + name + "]");
+ if (log.isTraceEnabled())
+ log.trace("addChildElement: [name=" + name + "]");
expandToDOM();
return super.addChildElement(name);
}
public SOAPElement addChildElement(String name) throws SOAPException
{
- log.trace("addChildElement: [name=" + name + "]");
+ if (log.isTraceEnabled())
+ log.trace("addChildElement: [name=" + name + "]");
expandToDOM();
return super.addChildElement(name);
}
public SOAPElement addTextNode(String value) throws SOAPException
{
- log.trace("addTextNode: [value=" + value + "]");
+ if (log.isTraceEnabled())
+ log.trace("addTextNode: [value=" + value + "]");
expandToDOM();
return super.addTextNode(value);
}
@@ -235,7 +241,8 @@
public Iterator getChildElements(Name name)
{
- log.trace("getChildElements: [name=" + name + "]");
+ if (log.isTraceEnabled())
+ log.trace("getChildElements: [name=" + name + "]");
expandToDOM();
return super.getChildElements(name);
}
@@ -279,14 +286,16 @@
public SOAPElement addAttribute(Name name, String value) throws SOAPException
{
- log.trace("addAttribute: [name=" + name + ",value=" + value + "]");
+ if (log.isTraceEnabled())
+ log.trace("addAttribute: [name=" + name + ",value=" + value + "]");
expandToDOM();
return super.addAttribute(name, value);
}
public SOAPElement addNamespaceDeclaration(String prefix, String nsURI)
{
- log.trace("addNamespaceDeclaration: [prefix=" + prefix + ",nsURI=" + nsURI + "]");
+ if (log.isTraceEnabled())
+ log.trace("addNamespaceDeclaration: [prefix=" + prefix + ",nsURI=" + nsURI + "]");
expandToDOM();
return super.addNamespaceDeclaration(prefix, nsURI);
}
@@ -298,14 +307,16 @@
public NodeList getElementsByTagName(String name)
{
- log.trace("getElementsByTagName: [name=" + name + "]");
+ if (log.isTraceEnabled())
+ log.trace("getElementsByTagName: [name=" + name + "]");
expandToDOM();
return super.getElementsByTagName(name);
}
public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
{
- log.trace("getElementsByTagName: [nsURI=" + namespaceURI + ",localName=" + localName + "]");
+ if (log.isTraceEnabled())
+ log.trace("getElementsByTagName: [nsURI=" + namespaceURI + ",localName=" + localName + "]");
expandToDOM();
return super.getElementsByTagNameNS(namespaceURI, localName);
}
@@ -352,84 +363,96 @@
public boolean removeAttribute(Name name)
{
- log.trace("removeAttribute: " + name.getQualifiedName());
+ if (log.isTraceEnabled())
+ log.trace("removeAttribute: " + name.getQualifiedName());
expandToDOM();
return super.removeAttribute(name);
}
public void removeAttribute(String name) throws DOMException
{
- log.trace("removeAttribute: " + name);
+ if (log.isTraceEnabled())
+ log.trace("removeAttribute: " + name);
expandToDOM();
super.removeAttribute(name);
}
public Attr removeAttributeNode(Attr oldAttr) throws DOMException
{
- log.trace("removeAttribute: " + oldAttr.getNodeName());
+ if (log.isTraceEnabled())
+ log.trace("removeAttribute: " + oldAttr.getNodeName());
expandToDOM();
return super.removeAttributeNode(oldAttr);
}
public void removeAttributeNS(String namespaceURI, String localName) throws DOMException
{
- log.trace("removeAttributeNS: {" + namespaceURI + "}" + localName);
+ if (log.isTraceEnabled())
+ log.trace("removeAttributeNS: {" + namespaceURI + "}" + localName);
expandToDOM();
super.removeAttributeNS(namespaceURI, localName);
}
public boolean removeNamespaceDeclaration(String prefix)
{
- log.trace("removeNamespaceDeclaration: " + prefix);
+ if (log.isTraceEnabled())
+ log.trace("removeNamespaceDeclaration: " + prefix);
expandToDOM();
return super.removeNamespaceDeclaration(prefix);
}
public void setAttribute(String name, String value) throws DOMException
{
- log.trace("setAttribute: [name=" + name + ",value=" + value + "]");
+ if (log.isTraceEnabled())
+ log.trace("setAttribute: [name=" + name + ",value=" + value + "]");
expandToDOM();
super.setAttribute(name, value);
}
public Attr setAttributeNode(Attr newAttr) throws DOMException
{
- log.trace("setAttributeNode: " + newAttr);
+ if (log.isTraceEnabled())
+ log.trace("setAttributeNode: " + newAttr);
expandToDOM();
return super.setAttributeNode(newAttr);
}
public Attr setAttributeNodeNS(Attr newAttr) throws DOMException
{
- log.trace("setAttributeNodeNS: " + newAttr);
+ if (log.isTraceEnabled())
+ log.trace("setAttributeNodeNS: " + newAttr);
expandToDOM();
return super.setAttributeNodeNS(newAttr);
}
public void setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException
{
- log.trace("setAttribute: [nsURI=" + namespaceURI + ",name=" + qualifiedName + ",value=" + value + "]");
+ if (log.isTraceEnabled())
+ log.trace("setAttribute: [nsURI=" + namespaceURI + ",name=" + qualifiedName + ",value=" + value + "]");
expandToDOM();
super.setAttributeNS(namespaceURI, qualifiedName, value);
}
public void setIdAttribute(String name, boolean isId) throws DOMException
{
- log.trace("setIdAttribute: [name=" + name + ",value=" + isId + "]");
+ if (log.isTraceEnabled())
+ log.trace("setIdAttribute: [name=" + name + ",value=" + isId + "]");
expandToDOM();
super.setIdAttribute(name, isId);
}
public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException
{
- log.trace("setIdAttributeNode: [idAttr=" + idAttr + ",value=" + isId + "]");
+ if (log.isTraceEnabled())
+ log.trace("setIdAttributeNode: [idAttr=" + idAttr + ",value=" + isId + "]");
expandToDOM();
super.setIdAttributeNode(idAttr, isId);
}
public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException
{
- log.trace("setIdAttributeNS: [nsURI=" + namespaceURI + ",name=" + localName + ",value=" + isId + "]");
+ if (log.isTraceEnabled())
+ log.trace("setIdAttributeNS: [nsURI=" + namespaceURI + ",name=" + localName + ",value=" + isId + "]");
expandToDOM();
super.setIdAttributeNS(namespaceURI, localName, isId);
}
@@ -438,14 +461,16 @@
public Node appendChild(Node newChild) throws DOMException
{
- log.trace("appendChild: " + newChild);
+ if (log.isTraceEnabled())
+ log.trace("appendChild: " + newChild);
expandToDOM();
return super.appendChild(newChild);
}
public Node cloneNode(boolean deep)
{
- log.trace("cloneNode: deep=" + deep);
+ if (log.isTraceEnabled())
+ log.trace("cloneNode: deep=" + deep);
expandToDOM();
return super.cloneNode(deep);
}
@@ -487,14 +512,16 @@
public Node removeChild(Node oldChild) throws DOMException
{
- log.trace("removeChild: " + oldChild);
+ if (log.isTraceEnabled())
+ log.trace("removeChild: " + oldChild);
expandToDOM();
return super.removeChild(oldChild);
}
public Node replaceChild(Node newChild, Node oldChild) throws DOMException
{
- log.trace("replaceChild: [new=" + newChild + ",old=" + oldChild + "]");
+ if (log.isTraceEnabled())
+ log.trace("replaceChild: [new=" + newChild + ",old=" + oldChild + "]");
expandToDOM();
return super.replaceChild(newChild, oldChild);
}
@@ -507,7 +534,8 @@
public void setValue(String value)
{
- log.trace("setValue: " + value);
+ if (log.isTraceEnabled())
+ log.trace("setValue: " + value);
expandToDOM();
super.setValue(value);
}
@@ -546,8 +574,7 @@
CommonMessageContext ctx = MessageContextAssociation.peekMessageContext();
if (ctx != null && Boolean.TRUE == ctx.get(Constants.DOM_CONTENT_CANONICAL_NORMALIZATION))
{
- if (log.isTraceEnabled())
- log.trace("Forcing canonical normalization of DOMContent...");
+ log.trace("Forcing canonical normalization of DOMContent...");
dw.setCanonical(true);
}
dw.print(this);
14 years, 3 months
JBossWS SVN: r11777 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-12 13:37:54 -0500 (Fri, 12 Mar 2010)
New Revision: 11777
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/EndpointInfo.java
Log:
Prevent index out of bound exception
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/EndpointInfo.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/EndpointInfo.java 2010-03-12 18:37:07 UTC (rev 11776)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/EndpointInfo.java 2010-03-12 18:37:54 UTC (rev 11777)
@@ -111,6 +111,10 @@
private String lowerCaseProtocol(String targetAddress)
{
int colonIndex = targetAddress.indexOf(':');
+ if (colonIndex == -1)
+ {
+ return targetAddress;
+ }
String lowerCasedProtocol = targetAddress.substring(0, colonIndex).toLowerCase();
return lowerCasedProtocol + targetAddress.substring(colonIndex);
}
14 years, 3 months
JBossWS SVN: r11776 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-12 13:37:07 -0500 (Fri, 12 Mar 2010)
New Revision: 11776
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java
Log:
[JBWS-2940] Setting namespace prefix after copying attributes on transition bewteen XML_VALID and DOM_VALID
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java 2010-03-12 18:35:43 UTC (rev 11775)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/XMLContent.java 2010-03-12 18:37:07 UTC (rev 11776)
@@ -39,8 +39,8 @@
import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
import org.jboss.ws.core.CommonMessageContext;
+import org.jboss.ws.core.binding.AbstractDeserializerFactory;
import org.jboss.ws.core.binding.BindingException;
-import org.jboss.ws.core.binding.AbstractDeserializerFactory;
import org.jboss.ws.core.binding.DeserializerSupport;
import org.jboss.ws.core.binding.SerializationContext;
import org.jboss.ws.core.binding.TypeMappingImpl;
@@ -322,6 +322,7 @@
Document ownerDoc = container.getOwnerDocument();
DOMUtils.copyAttributes(container, domElement);
+ container.setPrefix(domElement.getPrefix());
SOAPFactoryImpl soapFactory = new SOAPFactoryImpl();
14 years, 3 months
JBossWS SVN: r11775 - stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-03-12 13:35:43 -0500 (Fri, 12 Mar 2010)
New Revision: 11775
Modified:
stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPContentElementTestCase.java
Log:
[JBWS-2940] Adding testcase for proper handling of namespaces during soap content model transition
Modified: stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPContentElementTestCase.java
===================================================================
--- stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPContentElementTestCase.java 2010-03-12 15:06:37 UTC (rev 11774)
+++ stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPContentElementTestCase.java 2010-03-12 18:35:43 UTC (rev 11775)
@@ -32,10 +32,16 @@
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.Text;
+import org.jboss.ws.core.soap.MessageFactoryImpl;
import org.jboss.ws.core.soap.NameImpl;
+import org.jboss.ws.core.soap.SOAPBodyImpl;
import org.jboss.ws.core.soap.SOAPContentElement;
+import org.jboss.ws.core.soap.SOAPElementImpl;
+import org.jboss.ws.core.soap.Style;
import org.jboss.ws.core.soap.XMLFragment;
import org.jboss.wsf.test.JBossWSTest;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
/**
* Test the SOAPContentElement
@@ -187,4 +193,53 @@
String expEnv = "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Body><ns1:hello xmlns:ns1='http://handlerservice1.org/wsdl'><String_1>world::SOAP header was added</String_1></ns1:hello></env:Body></env:Envelope>";
assertEquals(expEnv, baos.toString());
}
+
+
+ //JBWS-2940: JAXB marshalling of object model can lead to a slightly different yet equivalent XMLFragment
+ //The new fragment can have different namespace prefix declarations, which can cause major issues in unlucky situations like below
+ public void testAttributesHandlingOnModelTransition() throws Exception
+ {
+ String envStr =
+ "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
+ "<env:Body>" +
+ "<ns2:Foo xmlns:ns2='firstNS'/>" +
+ "</env:Body>" +
+ "</env:Envelope>";
+
+ MessageFactoryImpl factory = new MessageFactoryImpl();
+ factory.setStyle(Style.DOCUMENT);
+ SOAPMessage soapMessage = factory.createMessage(null, new ByteArrayInputStream(envStr.getBytes()));
+
+ SOAPContentElement sce = getSOAPContentElement(soapMessage);
+
+ //force transition to XML_VALID and set an equivalent XMLFragment (but having a new ns declaration that would overwrite the one in the original fragment)
+ sce.setXMLFragment(new XMLFragment("<Foo xmlns='firstNS' xmlns:ns2='secondNs'/>"));
+
+ SOAPBody soapBody = soapMessage.getSOAPBody();
+ //force transition to DOM_VALID
+ soapBody.getFirstChild().getChildNodes();
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ soapMessage.writeTo(baos);
+
+ soapMessage = factory.createMessage(null, new ByteArrayInputStream(baos.toByteArray()));
+ Node foo = soapMessage.getSOAPBody().getFirstChild();
+ assertEquals("firstNS", foo.getNamespaceURI());
+ }
+
+ private SOAPContentElement getSOAPContentElement(final SOAPMessage soapMessage) throws Exception
+ {
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)soapMessage.getSOAPBody();
+ SOAPElementImpl bodyElement = null;
+ NodeList nodes = soapBody.getChildNodes();
+ for (int i = 0; i < nodes.getLength() && bodyElement == null; i++)
+ {
+ Node current = nodes.item(i);
+ if (current instanceof SOAPElementImpl)
+ {
+ bodyElement = (SOAPElementImpl)current;
+ }
+ }
+ return (SOAPContentElement)bodyElement;
+ }
}
14 years, 3 months