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 su...@apache.org on 2007/06/14 15:03:11 UTC

svn commit: r547240 - in /webservices/axis2/trunk/java/modules/saaj: src/org/apache/axis2/saaj/SOAPBodyImpl.java test/org/apache/axis2/saaj/integration/IntegrationTest.java

Author: sumedha
Date: Thu Jun 14 06:03:09 2007
New Revision: 547240

URL: http://svn.apache.org/viewvc?view=rev&rev=547240
Log:
Fix for AXIS2-2718.Allowed adding body elements with empty NS prefix

Modified:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
    webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java?view=diff&rev=547240&r1=547239&r2=547240
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java Thu Jun 14 06:03:09 2007
@@ -497,7 +497,11 @@
         if (qname.getNamespaceURI() == null || "".equals(qname.getNamespaceURI())) {
             childEle = new SOAPBodyElementImpl(
                     (ElementImpl)getOwnerDocument().createElement(qname.getLocalPart()));
-        } else {
+        }else if(null == qname.getPrefix() || "".equals(qname.getPrefix().trim())) {
+            childEle = new SOAPBodyElementImpl(
+                    (ElementImpl)getOwnerDocument().createElementNS(qname.getNamespaceURI(),
+                                                                            qname.getLocalPart()));
+        }else {
             childEle = new SOAPBodyElementImpl(
                     (ElementImpl)getOwnerDocument().createElementNS(qname.getNamespaceURI(),
                                                                     qname.getPrefix() + ":" +

Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java?view=diff&rev=547240&r1=547239&r2=547240
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java Thu Jun 14 06:03:09 2007
@@ -67,7 +67,7 @@
                 port +
                 "/axis2/services/Echo";
     }
-
+    
     public static Test suite() {
         return new TestSetup(new TestSuite(IntegrationTest.class)) {
             public void setUp() throws Exception {
@@ -96,6 +96,37 @@
     }
 
 
+    public void testSendReceiveMessageWithEmptyNSPrefix() {
+        try {
+            MessageFactory mf = MessageFactory.newInstance();
+            SOAPMessage request = mf.createMessage();
+
+            SOAPPart sPart = request.getSOAPPart();
+            SOAPEnvelope env = sPart.getEnvelope();
+            SOAPBody body = env.getBody();
+
+            //Namespace prefix is empty
+            body.addBodyElement(new QName("http://fakeNamespace2.org","echo"))
+            							.addTextNode("This is some text");
+
+            SOAPConnection sCon = SOAPConnectionFactory.newInstance().createConnection();
+            SOAPMessage response = sCon.call(request, getAddress());
+            assertFalse(response.getAttachments().hasNext());
+            assertEquals(0, response.countAttachments());
+
+            String requestStr = printSOAPMessage(request);
+            String responseStr = printSOAPMessage(response);
+            assertTrue(responseStr.indexOf("echo") > -1);
+            sCon.close();
+        } catch (SOAPException e) {
+            e.printStackTrace();
+            fail("Unexpected Exception while running test: " + e);
+        } catch (IOException e) {
+            fail("Unexpected Exception while running test: " + e);
+        }
+    }
+    
+    
     public void testSendReceiveSimpleSOAPMessage() {
         try {
             MessageFactory mf = MessageFactory.newInstance();



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org