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]