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))) {