You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ve...@apache.org on 2009/01/13 21:42:34 UTC
svn commit: r734237 - in /webservices/axis2/trunk/java/modules/saaj:
src/org/apache/axis2/saaj/SOAPElementImpl.java
test/org/apache/axis2/saaj/SOAPElementTest.java
Author: veithen
Date: Tue Jan 13 12:42:22 2009
New Revision: 734237
URL: http://svn.apache.org/viewvc?rev=734237&view=rev
Log:
Fixed issue in SOAPElementImpl#createQName: not all prefixes are bound to the SOAP envelope namespace...
Modified:
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java?rev=734237&r1=734236&r2=734237&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java Tue Jan 13 12:42:22 2009
@@ -433,16 +433,12 @@
* @since SAAJ 1.3
*/
public QName createQName(String localName, String prefix) throws SOAPException {
- if (this.element.getNamespaceURI(prefix) == null) {
+ String namespaceURI = element.getNamespaceURI(prefix);
+ if (namespaceURI == null) {
throw new SOAPException("Invalid prefix");
+ } else {
+ return new QName(namespaceURI, localName, prefix);
}
- QName qname = null;
- if (this.element.getOMFactory() instanceof SOAP11Factory) {
- qname = new QName(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI, localName, prefix);
- } else if (this.element.getOMFactory() instanceof SOAP12Factory) {
- qname = new QName(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI, localName, prefix);
- }
- return qname;
}
public Iterator getAllAttributesAsQNames() {
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java?rev=734237&r1=734236&r2=734237&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java Tue Jan 13 12:42:22 2009
@@ -588,6 +588,20 @@
}
}
+ @Validated @Test(expected=SOAPException.class)
+ public void testCreateQNameWithUnknownPrefix() throws Exception {
+ soapEle.createQName("local", "nonexistingprefix");
+ }
+
+ @Validated @Test
+ public void testCreateQNameWithAddNamespaceDeclaration() throws Exception {
+ soapEle.addNamespaceDeclaration("p", "urn:test");
+ QName qname = soapEle.createQName("local", "p");
+ assertEquals("p", qname.getPrefix());
+ assertEquals("local", qname.getLocalPart());
+ assertEquals("urn:test", qname.getNamespaceURI());
+ }
+
@Validated @Test
public void testRemoveContent() throws Exception {
boolean pass = true;