You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ve...@apache.org on 2005/04/13 15:36:03 UTC

svn commit: r161180 - in webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj: ./ src/java/org/apache/axis/saaj/ src/test/org/apache/axis/saaj/

Author: venkat
Date: Wed Apr 13 06:35:56 2005
New Revision: 161180

URL: http://svn.apache.org/viewcvs?view=rev&rev=161180
Log:
Adding files for SAAJ implementation over OM - from Ashutosh.

Added:
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPBody.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPEnvelope.java
Modified:
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MimeHeaders.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeListImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPBodyImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPConnectionImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPDocumentImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPEnvelopeImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderElementImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/TextImpl.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient2.java

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt Wed Apr 13 06:35:56 2005
@@ -11,4 +11,14 @@
 
 A test client is provided to demonstrate creating a basic soap message and sending it to the server.
 
+12th April 2005
+
+All the classes except AttachmentPart implemented. AttachmentPart will come after MTOM implementation.
+Some classes have some DOM related methods not implemented yet. 
+
+13th April 2005
+
+Fixed some bugs related to NullPointerException. Provided test cases to check correctness of SOAP
+Envelope and SOAP body.
+
 Ashutosh Shahi

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java Wed Apr 13 06:35:56 2005
@@ -15,7 +15,7 @@
 import javax.xml.soap.SOAPMessage;
 
 /**
- * @author shaas02
+ * @author Ashutosh Shahi ashutosh.shahi@gmail.com
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MimeHeaders.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MimeHeaders.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MimeHeaders.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MimeHeaders.java Wed Apr 13 06:35:56 2005
@@ -10,7 +10,7 @@
 import javax.xml.soap.MimeHeader;
 
 /**
- * @author shaas02
+ * @author Ashutosh Shahi	ashutosh.shahi@gmail.com
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeImpl.java Wed Apr 13 06:35:56 2005
@@ -124,7 +124,7 @@
 	 * @see javax.xml.soap.Node#detachNode()
 	 */
 	public void detachNode() {
-		
+	
 		omNode.detach();
 	}
 
@@ -403,6 +403,14 @@
 			org.w3c.dom.Node arg1) throws DOMException {
 		
 		return null;
+	}
+	
+	public boolean equals(Object o){
+		if(o instanceof NodeImpl){
+			if(this.omNode.equals(((NodeImpl)o).omNode))
+					return true;
+		}
+		return false;
 	}
 
 }

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeListImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeListImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeListImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/NodeListImpl.java Wed Apr 13 06:35:56 2005
@@ -14,7 +14,7 @@
 import java.util.ArrayList;
 
 /**
- * @author shaas02
+ * @author Ashutosh Shahi
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPBodyImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPBodyImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPBodyImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPBodyImpl.java Wed Apr 13 06:35:56 2005
@@ -41,6 +41,7 @@
 	 */
 	public SOAPBodyImpl(org.apache.axis.om.SOAPBody omSoapBody)
 	{
+		super(omSoapBody);
 		this.omSOAPBody = omSoapBody;
 	}
 

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPConnectionImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPConnectionImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPConnectionImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPConnectionImpl.java Wed Apr 13 06:35:56 2005
@@ -38,7 +38,7 @@
 			URL url = new URL(endpoint.toString());
 			call.setListenerTransport("http", true);
 			call.setTo(new EndpointReference(AddressingConstants.WSA_TO, url.toString()));
-			org.apache.axis.om.SOAPEnvelope responseEnv = call.sendReceive(envelope);
+			org.apache.axis.om.SOAPEnvelope responseEnv = call.sendReceiveSync(envelope);
 			SOAPEnvelopeImpl response = new SOAPEnvelopeImpl(responseEnv);
 			return new SOAPMessageImpl(response);
 			

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPDocumentImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPDocumentImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPDocumentImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPDocumentImpl.java Wed Apr 13 06:35:56 2005
@@ -27,7 +27,7 @@
 import javax.xml.soap.SOAPException;
 
 /**
- * @author shaas02
+ * @author Ashutosh Shahi	ashutosh.shahi@gmail.com
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPEnvelopeImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPEnvelopeImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPEnvelopeImpl.java Wed Apr 13 06:35:56 2005
@@ -31,11 +31,13 @@
 	 * Constructor SOAPEnvelopeImpl
 	 */
 	public SOAPEnvelopeImpl(){
+		//super(omEnv);
 		OMFactory fac = OMFactory.newInstance();
-		omSOAPEnvelope = fac.getDefaultEnvelope();
+		omNode = omElement =omSOAPEnvelope = fac.getDefaultEnvelope();
 	}
 	
 	public SOAPEnvelopeImpl(org.apache.axis.om.SOAPEnvelope omEnvelope){
+		super(omEnvelope);
 		this.omSOAPEnvelope = omEnvelope;
 	}
 	
@@ -101,7 +103,10 @@
 		{
 			throw new SOAPException(e);
 		}
-		return  new SOAPHeaderImpl(omSOAPHeader);
+		if(omSOAPHeader != null)
+			return  new SOAPHeaderImpl(omSOAPHeader);
+		else
+			return null;
 	}
 
 	/**
@@ -113,15 +118,18 @@
 	 */
 	public SOAPBody getBody() throws SOAPException {
 
-		org.apache.axis.om.SOAPBody omSOAPBody;
+		org.apache.axis.om.SOAPBody omSOAPBody = null;
 		try
 		{
 			omSOAPBody = omSOAPEnvelope.getBody();
 		} catch (Exception e)
 		{
-			throw new SOAPException(e);
+			//throw new SOAPException(e);
 		}
-		return (new SOAPBodyImpl(omSOAPBody));
+		if(omSOAPBody != null)
+			return (new SOAPBodyImpl(omSOAPBody));
+		else
+			return null;
 	}
 
 	/**

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderElementImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderElementImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderElementImpl.java Wed Apr 13 06:35:56 2005
@@ -27,6 +27,7 @@
 	 * @param headerElement
 	 */
 	public SOAPHeaderElementImpl(org.apache.axis.om.SOAPHeaderBlock headerElement){
+		super(headerElement);
 		this.omHeaderElement = headerElement;
 	}
 

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPHeaderImpl.java Wed Apr 13 06:35:56 2005
@@ -33,6 +33,7 @@
 	 * @param header
 	 */
 	public SOAPHeaderImpl(org.apache.axis.om.SOAPHeader header){
+		super(header);
 		this.omHeader = header; 
 	}
 	
@@ -166,5 +167,13 @@
 		}
 		return aList.iterator();
 	}
+	
+	/*public boolean equals(Object o){
+		if(o instanceof SOAPHeaderImpl){
+			if(this.omHeader.equals(((SOAPHeaderImpl)o).omHeader))
+					return true;
+		}
+		return false;
+	}*/
 
 }

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java Wed Apr 13 06:35:56 2005
@@ -20,7 +20,7 @@
 import org.apache.axis.transport.http.HTTPConstants;
 
 /**
- * @author shaas02
+ * @author Ashutosh Shahi ashutosh.shahi@gmail.com
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/TextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/TextImpl.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/TextImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/TextImpl.java Wed Apr 13 06:35:56 2005
@@ -26,15 +26,14 @@
 	
 	public TextImpl(String s){
 		//super();
-		omText = org.apache.axis.om.OMFactory.newInstance().createText(s);
+		omNode = omText = org.apache.axis.om.OMFactory.newInstance().createText(s);
 	}
 	
 	public TextImpl(SOAPElementImpl parent, String s) throws SOAPException{
 		//super();
 		//super.setParentElement(parent);
 		OMElement par = parent.getOMElement();
-		omText = org.apache.axis.om.OMFactory.newInstance().createText(par, s);
-		omNode = omText;
+		omNode = omText = org.apache.axis.om.OMFactory.newInstance().createText(par, s);
 	}
 	
 	public TextImpl(org.w3c.dom.CharacterData data){

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient.java Wed Apr 13 06:35:56 2005
@@ -62,7 +62,7 @@
 		call.setListenerTransport("http", true);
 		call.setTo(new EndpointReference(AddressingConstants.WSA_TO, url.toString()));
 		
-		org.apache.axis.om.SOAPEnvelope responseEnv = call.sendReceive(omEnv);
+		org.apache.axis.om.SOAPEnvelope responseEnv = call.sendReceiveSync(omEnv);
 
 		System.out.println("Responce received  ...");
 		responseEnv.serialize(writer,true);

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient2.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient2.java?view=diff&r1=161179&r2=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient2.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestClient2.java Wed Apr 13 06:35:56 2005
@@ -17,7 +17,7 @@
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.stream.XMLStreamException;
 /**
- * @author shaas02
+ * @author Ashutosh Shahi
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates
@@ -40,24 +40,23 @@
 			//TextImpl data = new TextImpl((SOAPElementImpl)text, "Echo String");
 			//System.out.println(data.getParentElement().getElementName());
 			//data.setParentElement(text);
-			
-			
-			SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
+					
+		/*	SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
 			SOAPConnection connection = factory.createConnection();
 			javax.xml.soap.SOAPMessage respMsg = ((SOAPConnectionImpl)connection).call(message, "http://localhost:8080/axis2/services/myecho");
 			SOAPEnvelope response = respMsg.getSOAPPart().getEnvelope();
-			
+		*/	
 			org.apache.axis.om.SOAPEnvelope omEnv = env.getOMEnvelope();
 			System.out.println("Request sent   ...");
 			XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
 			omEnv.serialize(writer,true);
 			writer.flush();
 			System.out.println();
-			org.apache.axis.om.SOAPEnvelope omResp = ((SOAPEnvelopeImpl)response).getOMEnvelope();
+		/*	org.apache.axis.om.SOAPEnvelope omResp = ((SOAPEnvelopeImpl)response).getOMEnvelope();
 			System.out.println("Response received  ...");
 			omResp.serialize(writer,true);
 			writer.flush();
-			
+			*/
 			} catch(SOAPException e){
 				e.printStackTrace();
 			} catch(XMLStreamException e1){

Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPBody.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPBody.java?view=auto&rev=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPBody.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPBody.java Wed Apr 13 06:35:56 2005
@@ -0,0 +1,98 @@
+/*
+ * Created on Apr 13, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.axis.saaj;
+
+import java.util.Iterator;
+
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.Name;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPHeader;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPPart;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.framework.Test;
+
+/**
+ * @author Ashutosh Shahi ashutosh.shahi@gmail.com
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TestSOAPBody extends TestCase {
+
+    /**
+     * Method suite
+     *
+     * @return
+     */
+  /*  public static Test suite() {
+        return new TestSuite(test.message.TestSOAPBody.class);
+    }
+  */
+    /**
+     * Method main
+     *
+     * @param argv
+     */
+    public static void main(String[] argv) throws Exception {
+        TestSOAPBody tester = new TestSOAPBody("TestSOAPBody");
+        tester.testSoapBodyBUG();
+    }
+
+    /**
+     * Constructor TestSOAPBody
+     *
+     * @param name
+     */
+    public TestSOAPBody(String name) {
+        super(name);
+    }
+    
+    /**
+     * Method testSoapBodyBUG
+     *
+     * @throws Exception
+     */
+    public void testSoapBodyBUG() throws Exception {
+    	
+    	MessageFactory fact = MessageFactory.newInstance();
+    	SOAPMessage message = fact.createMessage();
+    	SOAPPart soapPart = message.getSOAPPart();
+    	SOAPEnvelopeImpl env = (SOAPEnvelopeImpl)soapPart.getEnvelope();
+    	SOAPHeader header = env.getHeader();
+    	Name hns = env.createName("Hello","shw", "http://www.jcommerce.net/soap/ns/SOAPHelloWorld");
+    	SOAPElement headElmnt = header.addHeaderElement(hns);
+    	Name hns1 = env.createName("Myname","shw", "http://www.jcommerce.net/soap/ns/SOAPHelloWorld");
+    	SOAPElement myName = headElmnt.addChildElement(hns1);
+    	myName.addTextNode("Tony");
+    	Name ns =  env.createName("Address", "shw", "http://www.jcommerce.net/soap/ns/SOAPHelloWorld");
+    	SOAPBody body = env.getBody();
+    	SOAPElement bodyElmnt =  body.addBodyElement(ns);
+    	Name ns1 =  env.createName("City", "shw", "http://www.jcommerce.net/soap/ns/SOAPHelloWorld");
+    	SOAPElement city = bodyElmnt.addChildElement(ns1);
+    	city.addTextNode("GENT");
+    	
+    	Iterator it = body.getChildElements();
+    	int count = 0;
+    	
+        while (it.hasNext()) {
+            SOAPElement el = (SOAPElement) it.next();
+            count++;
+            Name name = el.getElementName();
+            System.out.println("Element:" + el);
+            System.out.println("BODY ELEMENT NAME:" + name.getPrefix() + ":"
+                    + name.getLocalName() + " " + name.getURI());
+        }
+        assertTrue(count == 1);
+    }
+
+}

Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPEnvelope.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPEnvelope.java?view=auto&rev=161180
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPEnvelope.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPEnvelope.java Wed Apr 13 06:35:56 2005
@@ -0,0 +1,107 @@
+/*
+ * Created on Apr 13, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.axis.saaj;
+
+import junit.framework.TestCase;
+
+import javax.xml.soap.Name;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPHeader;
+
+
+/**
+ * @author shaas02
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TestSOAPEnvelope extends TestCase {
+	
+    public TestSOAPEnvelope(String name) {
+        super(name);
+    }
+    
+    public void testName() throws Exception {
+        SOAPEnvelope env = new org.apache.axis.saaj.SOAPEnvelopeImpl();
+        Name n = env.createName("local", "pref", "urn:blah");
+        assertEquals("local part of name did not match", "local",
+                     n.getLocalName());
+        assertEquals("qname of name did not match", "pref:local",
+                     n.getQualifiedName());
+        assertEquals("prefix of name did not match", "pref",
+                     n.getPrefix());
+        assertEquals("uri of name did not match", "urn:blah",
+                     n.getURI());
+        Name n2 = env.createName("loc");
+        assertEquals("local part of name2 did not match", "loc",
+                     n2.getLocalName());
+    }
+    
+    public void testHeader() throws Exception {
+        SOAPEnvelope env = new org.apache.axis.saaj.SOAPEnvelopeImpl();
+        SOAPHeader h1 = env.getHeader();
+        assertTrue("null initial header", h1 != null);
+        h1.detachNode();
+        assertTrue("header not freed", env.getHeader() == null);
+        SOAPHeader h2 = env.addHeader();
+        assertTrue("null created header", h2 != null);
+        assertEquals("wrong header retrieved", h2, env.getHeader());
+        assertEquals("header parent incorrect", env, h2.getParentElement());
+        
+        try {
+            env.addHeader();
+            assertTrue("second header added", false);
+        } catch (SOAPException e) {
+        }
+    }
+
+    public void testBody() throws Exception {
+        SOAPEnvelope env = new org.apache.axis.saaj.SOAPEnvelopeImpl();
+        SOAPBody b1 = env.getBody();
+        assertTrue("null initial body", b1 != null);
+        b1.detachNode();
+        assertTrue("body not freed", env.getBody() == null);
+        SOAPBody b2 = env.addBody();
+        assertTrue("null created body", b2 != null);
+        assertEquals("wrong body retrieved", b2, env.getBody());
+        assertEquals("body parent incorrect", env, b2.getParentElement());
+        try {
+            env.addBody();
+            assertTrue("second body added", false);
+        } catch (SOAPException e) {
+        }
+    }
+    
+	/*public void testNullpointer() throws Exception{
+		org.apache.axis.saaj.SOAPEnvelopeImpl env=new org.apache.axis.saaj.SOAPEnvelopeImpl();
+		SOAPBodyElementImpl bdy=new SOAPBodyElementImpl();
+		bdy.setName("testResponse");
+		env.addBodyElement(bdy);
+		Message msg=new Message(env);
+		SOAPBodyElement sbe = msg.getSOAPEnvelope().getBodyByName(null,"testResponse");
+        assertTrue(sbe != null);
+	}
+	
+    public void testNullpointerInHeader() throws Exception{
+		org.apache.axis.saaj.SOAPEnvelopeImpl env=new org.apache.axis.saaj.SOAPEnvelopeImpl();
+		SOAPHeaderElementImpl hdr=new SOAPHeaderElementImpl("", "testHeader");
+		env.addHeader(hdr);
+		Message msg=new Message(env);
+		SOAPHeaderElement she = msg.getSOAPEnvelope().getHeaderByName(null,"testHeader");
+        assertTrue(she != null);
+	}*/
+    
+    public static void main(String args[]) throws Exception {
+        TestSOAPEnvelope tester = new TestSOAPEnvelope("TestSOAPEnvelope");
+        tester.testName();
+        tester.testHeader();
+        tester.testBody();
+    }
+
+}