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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to