From 7dbd98710eb06aa47e7a7eba07e79a3d04f692cf Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Tue, 31 Jul 2007 12:47:36 +0000 Subject: [PATCH] SWS-152 --- .../ws/soap/saaj/support/SaajUtils.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/support/SaajUtils.java b/core/src/main/java/org/springframework/ws/soap/saaj/support/SaajUtils.java index 4b78191e..10530393 100644 --- a/core/src/main/java/org/springframework/ws/soap/saaj/support/SaajUtils.java +++ b/core/src/main/java/org/springframework/ws/soap/saaj/support/SaajUtils.java @@ -104,8 +104,8 @@ public abstract class SaajUtils { } /** - * Returns the SAAJ version as a String. The returned string will be "SAAJ 1.3", - * "SAAJ 1.2", or "SAAJ 1.1". + * Returns the SAAJ version as a String. The returned string will be "SAAJ 1.3", "SAAJ + * 1.2", or "SAAJ 1.1". * * @return a string representation of the SAAJ version * @see #getSaajVersion() @@ -126,8 +126,7 @@ public abstract class SaajUtils { } /** - * Converts a javax.xml.namespace.QName to a javax.xml.soap.Name. A - * SOAPElement is required to create the name. + * Converts a {@link QName} to a {@link Name}. A {@link SOAPElement} is required to resolve namespaces. * * @param qName the QName to convert * @param resolveElement a SOAPElement used to resolve namespaces to prefixes @@ -142,7 +141,13 @@ public abstract class SaajUtils { return envelope.createName(qName.getLocalPart(), qNamePrefix, qName.getNamespaceURI()); } else if (StringUtils.hasLength(qName.getNamespaceURI())) { - Iterator prefixes = resolveElement.getVisibleNamespacePrefixes(); + Iterator prefixes; + if (getSaajVersion() == SAAJ_11) { + prefixes = resolveElement.getNamespacePrefixes(); + } + else { + prefixes = resolveElement.getVisibleNamespacePrefixes(); + } while (prefixes.hasNext()) { String prefix = (String) prefixes.next(); if (qName.getNamespaceURI().equals(resolveElement.getNamespaceURI(prefix))) {