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 di...@apache.org on 2006/01/03 01:29:01 UTC
svn commit: r365487 [5/5] - in /webservices/axis2/trunk/java/modules/saaj:
./ src/org/apache/axis2/saaj/ src/org/apache/axis2/util/
test/org/apache/axis2/saaj/
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/EnvelopeTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/EnvelopeTest.java?rev=365487&r1=365486&r2=365487&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/EnvelopeTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/EnvelopeTest.java Mon Jan 2 16:28:43 2006
@@ -2,101 +2,433 @@
import junit.framework.TestCase;
-import javax.xml.soap.*;
+import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
+import javax.xml.soap.Name;
+import javax.xml.soap.Node;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPFault;
+import javax.xml.soap.SOAPHeader;
+import javax.xml.soap.SOAPHeaderElement;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPPart;
+import javax.xml.soap.Text;
+import javax.xml.soap.SOAPConnectionFactory;
+import javax.xml.soap.SOAPConnection;
import java.io.ByteArrayInputStream;
import java.util.Iterator;
public class EnvelopeTest extends TestCase {
-
+
+ private static final String XML_STRING =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
+ " <soapenv:Header>\n" +
+ " <shw:Hello xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\">\n" +
+ " <shw:Myname>Tony</shw:Myname>\n" +
+ " </shw:Hello>\n" +
+ " </soapenv:Header>\n" +
+ " <soapenv:Body>\n" +
+ " <shw:Address shw:t='test' xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\">\n" +
+ " <shw:City>GENT</shw:City>\n" +
+ " </shw:Address>\n" +
+ " </soapenv:Body>\n" +
+ "</soapenv:Envelope>";
+
public EnvelopeTest(String name) {
super(name);
}
- String xmlString =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
- "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
- " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n" +
- " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
- " <soapenv:Header>\n" +
- " <shw:Hello xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\">\n" +
- " <shw:Myname>Tony</shw:Myname>\n" +
- " </shw:Hello>\n" +
- " </soapenv:Header>\n" +
- " <soapenv:Body>\n" +
- " <shw:Address xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\">\n" +
- " <shw:City>GENT</shw:City>\n" +
- " </shw:Address>\n" +
- " </soapenv:Body>\n" +
- "</soapenv:Envelope>";
-
- public void testEnvelope() throws Exception{
- MessageFactory mf = MessageFactory.newInstance();
- SOAPMessage smsg =
- mf.createMessage(new MimeHeaders(), new ByteArrayInputStream(xmlString.getBytes()));
- SOAPPart sp = smsg.getSOAPPart();
- SOAPEnvelope se = sp.getEnvelope();
- //smsg.writeTo(System.out);
- assertTrue(se != null);
- }
-
- public void testEnvelope2() throws Exception{
- MessageFactory mf = MessageFactory.newInstance();
- SOAPMessage smsg =
- mf.createMessage(new MimeHeaders(), new ByteArrayInputStream(xmlString.getBytes()));
- //It seems that the aim of this writing is to completely build the object tree. The
+ public void testEnvelope() throws Exception {
+ MessageFactory mf = MessageFactory.newInstance();
+ SOAPMessage smsg =
+ mf.createMessage(new MimeHeaders(), new ByteArrayInputStream(XML_STRING.getBytes()));
+ SOAPPart sp = smsg.getSOAPPart();
+ SOAPEnvelope se = sp.getEnvelope();
smsg.writeTo(System.out);
+ assertTrue(se != null);
+ }
- SOAPEnvelope envelope = smsg.getSOAPPart().getEnvelope();
+ public void testEnvelope2() throws Exception {
+ MessageFactory mf = MessageFactory.newInstance();
+ final ByteArrayInputStream baIS = new ByteArrayInputStream(XML_STRING.getBytes());
+ final MimeHeaders mimeheaders = new MimeHeaders();
+ mimeheaders.addHeader("Content-Type", "multipart/related");
+ SOAPMessage smsg =
+ mf.createMessage(mimeheaders, baIS);
+ smsg.writeTo(System.out);
+
+ SOAPEnvelope envelope = smsg.getSOAPPart().getEnvelope();
SOAPBody body = envelope.getBody();
- assertTrue(body != null);
+ assertTrue(body != null);
}
-
-
- public void testEnvelopeWithLeadingComment() throws Exception {
- String soapMessageWithLeadingComment =
- "<?xml version='1.0' encoding='UTF-8'?>" +
- "<!-- Comment -->" +
- "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
- "<env:Body><echo><arg0>Hello</arg0></echo></env:Body>" +
- "</env:Envelope>";
-
- SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
- SOAPConnection con = scFactory.createConnection();
-
- MessageFactory factory = MessageFactory.newInstance();
- SOAPMessage message =
- factory.createMessage(new MimeHeaders(),
- new ByteArrayInputStream(soapMessageWithLeadingComment.getBytes()));
- SOAPPart part = message.getSOAPPart();
- SOAPEnvelope envelope = part.getEnvelope();
- message.writeTo(System.out);
- assertTrue(envelope != null);
- }
-
-
- private SOAPEnvelope getSOAPEnvelope() throws Exception {
+
+ // TODO: This test fails due to some issues in OM. Needs to be added to the test suite
+ // that issue is fixed
+ public void _testEnvelopeWithLeadingComment() throws Exception {
+ String soapMessageWithLeadingComment =
+ "<?xml version='1.0' encoding='UTF-8'?>" +
+ "<!-- Comment -->" +
+ "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
+ "<env:Body><echo><arg0>Hello</arg0></echo></env:Body>" +
+ "</env:Envelope>";
+
SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
SOAPConnection con = scFactory.createConnection();
MessageFactory factory = MessageFactory.newInstance();
- SOAPMessage message = factory.createMessage();
- return message.getSOAPPart().getEnvelope();
+ SOAPMessage message =
+ factory.createMessage(new MimeHeaders(),
+ new ByteArrayInputStream(soapMessageWithLeadingComment.getBytes()));
+ SOAPPart part = message.getSOAPPart();
+ SOAPEnvelope envelope = part.getEnvelope();
+ message.writeTo(System.out);
+ assertTrue(envelope != null);
+ assertTrue(envelope.getBody() != null);
+ }
+
+ public void testEnvelopeWithCommentInEnvelope() throws Exception {
+
+ String soapMessageWithLeadingComment =
+ "<?xml version='1.0' encoding='UTF-8'?>\n" +
+ "<soapenv:Envelope xmlns='http://somewhere.com/html'\n" +
+ " xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'\n" +
+ " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
+ " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n" +
+ "<!-- Comment -->" +
+ " <soapenv:Body>\n" +
+ " <echo><arg0>Hello</arg0></echo>" +
+// " <t:echo xmlns:t='http://test.org/Test'><t:arg0>Hello</t:arg0></t:echo>" +
+" </soapenv:Body>\n" +
+"</soapenv:Envelope>";
+
+ MessageFactory factory = MessageFactory.newInstance();
+ SOAPMessage message =
+ factory.createMessage(new MimeHeaders(),
+ new ByteArrayInputStream(soapMessageWithLeadingComment.getBytes()));
+ SOAPPart part = message.getSOAPPart();
+ SOAPEnvelope envelope = part.getEnvelope();
+ message.writeTo(System.out);
+ assertTrue(envelope != null);
+ assertTrue(envelope.getBody() != null);
+ }
+
+ public void testEnvelopeWithCommentInBody() throws Exception {
+
+ String soapMessageWithLeadingComment =
+ "<?xml version='1.0' encoding='UTF-8'?>\n" +
+ "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'\n" +
+ " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
+ " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n" +
+ " <soapenv:Body>\n" +
+ "<!-- Comment -->" +
+// " <echo><arg0>Hello</arg0></echo>" +
+" <t:echo xmlns:t='http://test.org/Test'><t:arg0>Hello</t:arg0></t:echo>" +
+" </soapenv:Body>\n" +
+"</soapenv:Envelope>";
+
+ MessageFactory factory = MessageFactory.newInstance();
+ SOAPMessage message =
+ factory.createMessage(new MimeHeaders(),
+ new ByteArrayInputStream(soapMessageWithLeadingComment.getBytes()));
+ SOAPPart part = message.getSOAPPart();
+ SOAPEnvelope envelope = part.getEnvelope();
+ message.writeTo(System.out);
+ assertTrue(envelope != null);
+ assertTrue(envelope.getBody() != null);
+ }
+
+ public void testEnvelopeWithComments() throws Exception {
+
+ String soapMessageWithLeadingComment =
+ "<?xml version='1.0' encoding='UTF-8'?>\n" +
+ "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'\n" +
+ " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
+ " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n" +
+ " <soapenv:Header>\n" +
+ "<!-- Comment -->" +
+ " <shw:Hello xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\">\n" +
+ "<!-- Comment -->" +
+ " <shw:Myname><!-- Comment -->Tony</shw:Myname>\n" +
+ " </shw:Hello>\n" +
+ " </soapenv:Header>\n" +
+ " <soapenv:Body>\n" +
+ "<!-- Comment -->" +
+ " <t:echo xmlns:t='http://test.org/Test'><t:arg0>Hello</t:arg0></t:echo>" +
+ " </soapenv:Body>\n" +
+ "</soapenv:Envelope>";
+
+ MessageFactory factory = MessageFactory.newInstance();
+ SOAPMessage message =
+ factory.createMessage(new MimeHeaders(),
+ new ByteArrayInputStream(soapMessageWithLeadingComment.getBytes()));
+ SOAPPart part = message.getSOAPPart();
+ SOAPEnvelope envelope = part.getEnvelope();
+ message.writeTo(System.out);
+ assertTrue(envelope != null);
+ assertTrue(envelope.getBody() != null);
}
-
+
+ //TODO: Fails. Check this. Faults need more thorough testing
public void testFaults() throws Exception {
SOAPEnvelope envelope = getSOAPEnvelope();
SOAPBody body = envelope.getBody();
- SOAPFault sf = body.addFault();
- //sf.setFaultCode("myFault");
- //String fc = sf.getFaultCode();
- sf.setFaultString("myFault");
- String fc = sf.getFaultString(); //Chk the same for FaultCode as well
- // currently not done in SAAJ
- assertTrue(fc.equals("myFault"));
+
+ assertFalse(body.hasFault());
+ SOAPFault soapFault = body.addFault();
+ assertTrue(body.hasFault());
+ assertNotNull(body.getFault());
+
+ soapFault.setFaultString("myFault");
+ String faultString = soapFault.getFaultString();
+ System.err.println("######## faultString=" + faultString);
+
+// soapFault.setFaultCode("CODE");
+// soapFault.getFaultCode();
+// System.err.println("######## faultCode=" + soapFault.getFaultCode());
+
+// assertEquals()
+
+ //soapFault.setFaultCode("myFault");
+ //String fc = soapFault.getFaultCode();
+ /*soapFault.setFaultString("myFault");
+ String fc = soapFault.getFaultString(); //Chk the same for FaultCode as well
+
+ // currently not done in SAAJ
+ assertTrue(fc.equals("myFault"));*/
+ }
+ /*
+ public void testFaults2() throws Exception {
+
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+ SOAPFault sf = body.addFault();
+
+ assertTrue(body.getFault() != null);
+
+ Detail d1 = sf.addDetail();
+ Name name = envelope.createName("GetLastTradePrice", "WOMBAT",
+ "http://www.wombat.org/trader");
+ d1.addDetailEntry(name);
+
+ Detail d2 = sf.getDetail();
+ assertTrue(d2 != null);
+ Iterator i = d2.getDetailEntries();
+ assertTrue(getIteratorCount(i) == 1);
+ i = d2.getDetailEntries();
+ //message.writeTo(System.out);
+ while (i.hasNext()) {
+ DetailEntry de = (DetailEntry) i.next();
+ assertEquals(de.getElementName(), name);
+ }
+ }*/
+
+ public void testHeaderElements() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPHeader header = envelope.getHeader();
+
+ SOAPHeaderElement headerEle = header.addHeaderElement(envelope.createName("foo1",
+ "f1",
+ "foo1-URI"));
+ headerEle.setActor("actor-URI");
+ headerEle.setMustUnderstand(true);
+
+ Iterator iterator = header.extractHeaderElements("actor-URI");
+ int cnt = 0;
+ while (iterator.hasNext()) {
+ cnt++;
+ SOAPHeaderElement resultHeaderEle = (SOAPHeaderElement) iterator.next();
+
+ assertEquals(headerEle.getActor(), resultHeaderEle.getActor());
+ assertEquals(resultHeaderEle.getMustUnderstand(),headerEle.getMustUnderstand());
+ }
+ assertTrue(cnt == 1);
+ iterator = header.extractHeaderElements("actor-URI");
+ assertTrue(!iterator.hasNext());
+ }
+
+ public void testText() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+ Iterator iStart = body.getChildElements();
+ int countStart = getIteratorCount(iStart);
+
+ final String bodyText = "<txt>This is the body text</txt>";
+
+ SOAPElement se = body.addTextNode(bodyText);
+ assertTrue(se != null);
+
+ assertTrue(body.getValue().equals(bodyText));
+
+ Iterator i = body.getChildElements();
+ int count = getIteratorCount(i);
+ assertTrue(count == countStart + 1);
+ }
+
+ public void testNonCommentText() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+ SOAPElement se = body.addTextNode("<txt>This is text</txt>");
+ Iterator iterator = se.getChildElements();
+ Object o = null;
+ while (iterator.hasNext()) {
+ o = iterator.next();
+ if (o instanceof Text) {
+ break;
+ }
+ }
+ assertTrue(o instanceof Text);
+ Text t = (Text) o;
+ assertTrue(!t.isComment());
+ }
+
+ public void testCommentText() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+ SOAPElement se = body.addTextNode("<!-- This is a comment -->");
+ Iterator iterator = se.getChildElements();
+ Node n = null;
+ while (iterator.hasNext()) {
+ n = (Node) iterator.next();
+ if (n instanceof Text)
+ break;
+ }
+ assertTrue(n instanceof Text);
+ Text t = (Text) n;
+ assertTrue(t.isComment());
+ }
+
+ public void testAttributes() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+
+ Name name1 = envelope.createName("MyAttr1");
+ String value1 = "MyValue1";
+
+ Name name2 = envelope.createName("MyAttr2");
+ String value2 = "MyValue2";
+
+ Name name3 = envelope.createName("MyAttr3");
+ String value3 = "MyValue3";
+
+ body.addAttribute(name1, value1);
+ body.addAttribute(name2, value2);
+ body.addAttribute(name3, value3);
+
+ Iterator iterator = body.getAllAttributes();
+ assertTrue(getIteratorCount(iterator) == 3);
+ iterator = body.getAllAttributes();
+
+ boolean foundName1 = false;
+ boolean foundName2 = false;
+ boolean foundName3 = false;
+ while (iterator.hasNext()) {
+ Name name = (Name) iterator.next();
+ if (name.equals(name1)) {
+ foundName1 = true;
+ assertEquals(value1, body.getAttributeValue(name));
+ } else if (name.equals(name2)) {
+ foundName2 = true;
+ assertEquals(value2, body.getAttributeValue(name));
+ } else if (name.equals(name3)) {
+ foundName3 = true;
+ assertEquals(value3, body.getAttributeValue(name));
+ }
+ }
+ assertTrue(foundName1 && foundName2 && foundName3);
+ }
+
+ public void testAttributes2() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+
+ Name name1 = envelope.createName("MyAttr1", "att", "http://test.com/Attr");
+ String value1 = "MyValue1";
+
+ Name name2 = envelope.createName("MyAttr2");
+ String value2 = "MyValue2";
+
+ Name name3 = envelope.createName("MyAttr3");
+ String value3 = "MyValue3";
+
+ body.addAttribute(name1, value1);
+ body.addAttribute(name2, value2);
+ body.addAttribute(name3, value3);
+
+ Iterator iterator = body.getAllAttributes();
+ assertTrue(getIteratorCount(iterator) == 3);
+ iterator = body.getAllAttributes();
+
+ boolean foundName1 = false;
+ boolean foundName2 = false;
+ boolean foundName3 = false;
+ while (iterator.hasNext()) {
+ Name name = (Name) iterator.next();
+ if (name.equals(name1)) {
+ foundName1 = true;
+ assertEquals(value1, body.getAttributeValue(name));
+ } else if (name.equals(name2)) {
+ foundName2 = true;
+ assertEquals(value2, body.getAttributeValue(name));
+ } else if (name.equals(name3)) {
+ foundName3 = true;
+ assertEquals(value3, body.getAttributeValue(name));
+ }
+ }
+ assertTrue(foundName1 && foundName2 && foundName3);
+ }
+
+ public void testAttributes3() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+
+ Name name1 = envelope.createName("MyAttr1", "att", "http://test.com/Attr");
+ String value1 = "MyValue1";
+
+ Name name2 = envelope.createName("MyAttr2", "att", "http://test.com/Attr");
+ String value2 = "MyValue2";
+
+ Name name3 = envelope.createName("MyAttr3", "att", "http://test.com/Attr");
+ String value3 = "MyValue3";
+
+ body.addAttribute(name1, value1);
+ body.addAttribute(name2, value2);
+ body.addAttribute(name3, value3);
+
+ Iterator iterator = body.getAllAttributes();
+ assertTrue(getIteratorCount(iterator) == 3);
+ iterator = body.getAllAttributes();
+
+ boolean foundName1 = false;
+ boolean foundName2 = false;
+ boolean foundName3 = false;
+ while (iterator.hasNext()) {
+ Name name = (Name) iterator.next();
+ if (name.equals(name1)) {
+ foundName1 = true;
+ assertEquals(value1, body.getAttributeValue(name));
+ } else if (name.equals(name2)) {
+ foundName2 = true;
+ assertEquals(value2, body.getAttributeValue(name));
+ } else if (name.equals(name3)) {
+ foundName3 = true;
+ assertEquals(value3, body.getAttributeValue(name));
+ }
+ }
+ assertTrue(foundName1 && foundName2 && foundName3);
+ }
+
+ private SOAPEnvelope getSOAPEnvelope() throws Exception {
+ MessageFactory factory = MessageFactory.newInstance();
+ SOAPMessage message = factory.createMessage();
+ return message.getSOAPPart().getEnvelope();
}
-
+
private int getIteratorCount(java.util.Iterator i) {
int count = 0;
while (i.hasNext()) {
@@ -105,138 +437,5 @@
}
return count;
}
-
- public void testFaults2() throws Exception {
-
- SOAPEnvelope envelope = getSOAPEnvelope();
- SOAPBody body = envelope.getBody();
- SOAPFault sf = body.addFault();
-
- assertTrue(body.getFault() != null);
-
- Detail d1 = sf.addDetail();
- Name name = envelope.createName("GetLastTradePrice", "WOMBAT",
- "http://www.wombat.org/trader");
- d1.addDetailEntry(name);
-
- Detail d2 = sf.getDetail();
- assertTrue(d2 != null);
- Iterator i = d2.getDetailEntries();
- assertTrue(getIteratorCount(i) == 1);
- i = d2.getDetailEntries();
- //message.writeTo(System.out);
- while(i.hasNext()) {
- DetailEntry de = (DetailEntry)i.next();
- assertEquals(de.getElementName(),name);
- }
- }
-
- public void testHeaderElements() throws Exception {
- SOAPEnvelope envelope = getSOAPEnvelope();
- SOAPBody body = envelope.getBody();
- SOAPHeader hdr = envelope.getHeader();
-
- SOAPHeaderElement she1 = hdr.addHeaderElement(envelope.createName("foo1", "f1", "foo1-URI"));
- she1.setActor("actor-URI");
- java.util.Iterator iterator = hdr.extractHeaderElements("actor-URI");
- int cnt = 0;
- while (iterator.hasNext()) {
- cnt++;
- SOAPHeaderElement she = (SOAPHeaderElement) iterator.next();
- assertTrue(she.equals(she1));
- }
- assertTrue(cnt == 1);
- iterator = hdr.extractHeaderElements("actor-URI");
- assertTrue(!iterator.hasNext());
- }
-
- public void testText1() throws Exception {
- SOAPEnvelope envelope = getSOAPEnvelope();
- SOAPBody body = envelope.getBody();
- Iterator iStart = body.getChildElements();
- int countStart = getIteratorCount(iStart);
- SOAPElement se = body.addTextNode("<txt>This is text</txt>");
- assertTrue(se != null);
- assertTrue(body.getValue().equals("<txt>This is text</txt>"));
- Iterator i = body.getChildElements();
- int count = getIteratorCount(i);
- assertTrue(count == countStart + 1);
- }
-
- public void testText2() throws Exception {
- SOAPEnvelope envelope = getSOAPEnvelope();
- SOAPBody body = envelope.getBody();
- SOAPElement se = body.addTextNode("This is text");
- Iterator iterator = se.getChildElements();
- Node n = null;
- while (iterator.hasNext()) {
- n = (Node)iterator.next();
- if (n instanceof Text){
- break;
- }
- }
- assertTrue(n instanceof Text);
- Text t = (Text)n;
- assertTrue(!t.isComment());
- }
-
- public void testText3() throws Exception {
- SOAPEnvelope envelope = getSOAPEnvelope();
- SOAPBody body = envelope.getBody();
- SOAPElement se = body.addTextNode("<!-- This is a comment -->");
- Iterator iterator = se.getChildElements();
- Node n = null;
- while (iterator.hasNext()) {
- n = (Node)iterator.next();
- if (n instanceof Text)
- break;
- }
- assertTrue(n instanceof Text);
- Text t = (Text)n;
- assertTrue(t.isComment());
- }
-
- public void testAttributes() throws Exception {
- SOAPEnvelope envelope = getSOAPEnvelope();
- SOAPBody body = envelope.getBody();
-
- Name name1 = envelope.createName("MyAttr1");
- String value1 = "MyValue1";
- Name name2 = envelope.createName("MyAttr2");
- String value2 = "MyValue2";
- Name name3 = envelope.createName("MyAttr3");
- String value3 = "MyValue3";
- body.addAttribute(name1, value1);
- body.addAttribute(name2, value2);
- body.addAttribute(name3, value3);
- java.util.Iterator iterator = body.getAllAttributes();
- assertTrue(getIteratorCount(iterator) == 3);
- iterator = body.getAllAttributes();
- boolean foundName1 = false;
- boolean foundName2 = false;
- boolean foundName3 = false;
- while (iterator.hasNext()) {
- Name name = (Name) iterator.next();
- if (name.equals(name1))
- foundName1 = true;
- else if (name.equals(name2))
- foundName2 = true;
- else if (name.equals(name3))
- foundName3 = true;
- }
- }
-
- public static void main(String[] args) throws Exception {
- EnvelopeTest tester = new EnvelopeTest("EnvelopeTest");
- tester.testEnvelope();
- tester.testEnvelope2();
- tester.testFaults();
- tester.testFaults2();
-// tester.testHeaderElements();
- tester.testText1();
- tester.testText2();
- tester.testText3();
- tester.testAttributes();
- tester.testEnvelopeWithLeadingComment();
- }
+
}
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/HeadersTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/HeadersTest.java?rev=365487&r1=365486&r2=365487&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/HeadersTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/HeadersTest.java Mon Jan 2 16:28:43 2006
@@ -32,18 +32,18 @@
}
public void testAddingHeaderElements() throws Exception {
- javax.xml.soap.SOAPMessage soapMessage = javax.xml.soap.MessageFactory.newInstance()
- .createMessage();
- javax.xml.soap.SOAPEnvelope soapEnv = soapMessage.getSOAPPart()
- .getEnvelope();
+ javax.xml.soap.SOAPMessage soapMessage =
+ javax.xml.soap.MessageFactory.newInstance().createMessage();
+ javax.xml.soap.SOAPEnvelope soapEnv =
+ soapMessage.getSOAPPart().getEnvelope();
javax.xml.soap.SOAPHeader header = soapEnv.getHeader();
header.addChildElement("ebxmlms");
-
+
/*ByteArrayOutputStream baos = new ByteArrayOutputStream();
- soapMessage.writeTo(baos);
- String xml = new String(baos.toByteArray());
- assertTrue(xml.indexOf("ebxmlms") != -1);*/
-
+ soapMessage.writeTo(baos);
+ String xml = new String(baos.toByteArray());
+ assertTrue(xml.indexOf("ebxmlms") != -1);*/
+
Iterator it = header.getChildElements();
boolean b = false;
while (it.hasNext()) {
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/PrefixesTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/PrefixesTest.java?rev=365487&r1=365486&r2=365487&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/PrefixesTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/PrefixesTest.java Mon Jan 2 16:28:43 2006
@@ -18,12 +18,14 @@
import junit.framework.TestCase;
import javax.xml.soap.MessageFactory;
-import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
+import javax.xml.soap.MimeHeaders;
import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
public class PrefixesTest extends TestCase {
@@ -44,7 +46,6 @@
se.createName
("element2", "prefix2", "http://www.apache.org"));
- org.apache.axis2.soap.SOAPEnvelope omEnv = ((SOAPEnvelopeImpl) se).getOMEnvelope();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
msg.writeTo(baos);
@@ -55,25 +56,45 @@
assertTrue(xml.indexOf("http://www.apache.org") != -1);
}
- /* public void testAttribute() throws Exception {
- String soappacket = "<SOAP-ENV:Envelope xmlns:SOAP-ENV =\"http://schemas.xmlsoap.org/soap/envelope/\"" +
- "xmlns:xsi =\"http://www.w3.org/1999/XMLSchema-instance\"" +
- "xmlns:xsd =\"http://www.w3.org/1999/XMLSchema\">" +
- "<SOAP-ENV:Body>" +
- "<helloworld name=\"tester\" />" +
- "</SOAP-ENV:Body>" +
- "</SOAP-ENV:Envelope>";
- SOAPMessage msg = MessageFactory.newInstance().createMessage(new MimeHeaders(), new ByteArrayInputStream(soappacket.getBytes()));
- SOAPBody body = msg.getSOAPPart().getEnvelope().getBody();
- msg.writeTo(System.out);
-
- SOAPElement ele = (SOAPElement) body.getChildElements().next();
- java.util.Iterator attit = ele.getAllAttributes();
-
- System.out.println(attit.next().getClass());
-
- javax.xml.soap.Name n = (javax.xml.soap.Name) attit.next();
- //assertEquals("Test fail prefix problem",n.getQualifiedName(),"name");
- }*/
+ public void testAttribute() throws Exception {
+ /* String soappacket = "<SOAP-ENV:Envelope xmlns:SOAP-ENV =\"http://schemas.xmlsoap.org/soap/envelope/\"" +
+ "xmlns:xsi =\"http://www.w3.org/1999/XMLSchema-instance\"" +
+ "xmlns:xsd =\"http://www.w3.org/1999/XMLSchema\">" +
+ "<SOAP-ENV:Body>" +
+// "<t:helloworld t:name=\"tester\" xmlns:t='http://test.org/Test' />" +
+ "</SOAP-ENV:Body>" +
+ "</SOAP-ENV:Envelope>";*/
+// System.err.println(soappacket);
+
+ final String soappacket =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
+ " <soapenv:Header>\n" +
+ " <shw:Hello xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\">\n" +
+ " <shw:Myname>Tony</shw:Myname>\n" +
+ " </shw:Hello>\n" +
+ " </soapenv:Header>\n" +
+ " <soapenv:Body>\n" +
+ " <shw:Address xmlns:shw=\"http://www.jcommerce.net/soap/ns/SOAPHelloWorld\" shw:t='test' >\n" +
+ " <shw:City>GENT</shw:City>\n" +
+ " </shw:Address>\n" +
+ " </soapenv:Body>\n" +
+ "</soapenv:Envelope>";
+
+ SOAPMessage msg = MessageFactory.newInstance().createMessage(new MimeHeaders(),
+ new ByteArrayInputStream(soappacket.getBytes()));
+ SOAPBody body = msg.getSOAPPart().getEnvelope().getBody();
+ msg.writeTo(System.out);
+
+ SOAPElement ele = (SOAPElement) body.getChildElements().next();
+ java.util.Iterator attit = ele.getAllAttributes();
+
+ System.out.println(attit.next().getClass());
+
+ javax.xml.soap.Name n = (javax.xml.soap.Name) attit.next();
+ //assertEquals("Test fail prefix problem",n.getQualifiedName(),"name");
+ }
}
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPBodyTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPBodyTest.java?rev=365487&r1=365486&r2=365487&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPBodyTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPBodyTest.java Mon Jan 2 16:28:43 2006
@@ -26,6 +26,8 @@
import javax.xml.soap.SOAPPart;
import java.util.Iterator;
+import org.apache.axis2.saaj.SOAPEnvelopeImpl;
+
public class SOAPBodyTest extends TestCase {
/**
@@ -37,15 +39,6 @@
return new TestSuite(test.message.TestSOAPBody.class);
}
*/
- /**
- * Method main
- *
- * @param argv
- */
- public static void main(String[] argv) throws Exception {
- SOAPBodyTest tester = new SOAPBodyTest("TestSOAPBody");
- tester.testSoapBodyBUG();
- }
/**
* Constructor TestSOAPBody
@@ -61,7 +54,7 @@
*
* @throws Exception
*/
- public void testSoapBodyBUG() throws Exception {
+ public void testSoapBody() throws Exception {
MessageFactory fact = MessageFactory.newInstance();
SOAPMessage message = fact.createMessage();
@@ -69,34 +62,37 @@
SOAPEnvelopeImpl env = (SOAPEnvelopeImpl) soapPart.getEnvelope();
SOAPHeader header = env.getHeader();
Name hns = env.createName("Hello",
- "shw",
- "http://www.jcommerce.net/soap/ns/SOAPHelloWorld");
+ "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");
+ "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");
+ "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");
+ "shw",
+ "http://www.jcommerce.net/soap/ns/SOAPHelloWorld");
SOAPElement city = bodyElmnt.addChildElement(ns1);
city.addTextNode("GENT");
+ SOAPElement city2 = body.addBodyElement(ns1);
+ city2.addTextNode("CIT2");
+
Iterator it = body.getChildElements();
int count = 0;
while (it.hasNext()) {
SOAPElement el = (SOAPElement) it.next();
count++;
- Name name = el.getElementName();
+// Name name = el.getElementName();
}
- assertTrue(count == 1);
+ assertEquals(2,count);
}
}
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java?rev=365487&r1=365486&r2=365487&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 Mon Jan 2 16:28:43 2006
@@ -20,6 +20,9 @@
import javax.xml.soap.SOAPElement;
import java.util.List;
+import org.apache.axis2.saaj.TextImplEx;
+import org.apache.axis2.om.impl.dom.NodeImpl;
+
public class SOAPElementTest extends TestCase {
private SOAPElement soapElem;
@@ -27,8 +30,8 @@
protected void setUp() throws Exception {
soapElem =
SOAPFactoryImpl.newInstance().createElement("Test",
- "test",
- "http://test.apache.org/");
+ "test",
+ "http://test.apache.org/");
}
public void testAddTextNode() throws Exception {
@@ -36,17 +39,17 @@
final String value = "foo";
soapElem.addTextNode(value);
assertEquals(value, soapElem.getValue());
- TextImpl text = assertContainsText(soapElem);
+ TextImplEx text = assertContainsText(soapElem);
assertEquals(value, text.getValue());
}
- private TextImpl assertContainsText(SOAPElement soapElem) {
+ private TextImplEx assertContainsText(SOAPElement soapElem) {
assertTrue(soapElem.hasChildNodes());
List childElems = toList(soapElem.getChildElements());
assertTrue(childElems.size() == 1);
NodeImpl node = (NodeImpl) childElems.get(0);
- assertTrue(node instanceof TextImpl);
- return (TextImpl) node;
+ assertTrue(node instanceof TextImplEx);
+ return (TextImplEx) node;
}
private List toList(java.util.Iterator iter) {
Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/TextTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/TextTest.java?rev=365487&r1=365486&r2=365487&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/TextTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/TextTest.java Mon Jan 2 16:28:43 2006
@@ -4,30 +4,37 @@
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import javax.xml.soap.*;
+import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
+import javax.xml.soap.Name;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPFactory;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.Text;
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class TextTest extends TestCase {
-
- public TextTest(String name){
- super(name);
- }
-
- //Test SAAJ addTextNode performance
- public void testAddTextNode() throws Exception {
+
+ public TextTest(String name) {
+ super(name);
+ }
+
+ //Test SAAJ addTextNode performance
+ public void testAddTextNode() throws Exception {
SOAPFactory soapFactory = SOAPFactory.newInstance();
MessageFactory factory = MessageFactory.newInstance();
SOAPMessage message = factory.createMessage();
- SOAPHeader header = message.getSOAPHeader();
SOAPBody body = message.getSOAPBody();
-
+
// Create the base element
Name bodyName = soapFactory.createName("VBGenReceiver", "xsi",
- "http://www.w3.org/2001/XMLSchema-instance");
+ "http://www.w3.org/2001/XMLSchema-instance");
SOAPBodyElement bodyElement = body.addBodyElement(bodyName);
-
+
// Create the MetaData Tag
Name name = soapFactory.createName("MetaData");
SOAPElement metaData = bodyElement.addChildElement(name);
@@ -119,49 +126,45 @@
SOAPElement postalCode = delivery.addChildElement(name);
postalCode.addTextNode("PostalCode015");
- System.out.println("The message is lll:\n");
+ System.out.println("The message is:\n");
message.writeTo(System.out);
+ System.out.flush();
+ }
+
+ public void testComment() throws SOAPException, IOException {
+
+ String xmlString = "<?xml version='1.0' encoding='utf-8'?> " +
+ "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
+ "<soapenv:Header></soapenv:Header>" +
+ "<soapenv:Body>" +
+ "<Node:abc xmlns:Node=\"http://www.simpletest.org\">" +
+ "This is some text" +
+ "<!--This is comment-->This is other text" +
+ "<!--This is another comment-->This is some other text" +
+ "</Node:abc>" +
+ "</soapenv:Body>" +
+ "</soapenv:Envelope>";
+
+ MessageFactory mf = MessageFactory.newInstance();
+ SOAPMessage message =
+ mf.createMessage(new MimeHeaders(), new ByteArrayInputStream(xmlString.getBytes()));
- }
-
- public void testComment() throws SOAPException, IOException{
-
- String xmlString = "<?xml version='1.0' encoding='utf-8'?> " +
- "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
- "<soapenv:Header></soapenv:Header><soapenv:Body>" +
- "<Node:abc xmlns:Node=\"http://www.simpletest.org\">" +
- "This is some text" +
- "<!--This is comment-->This is other text</Node:abc>" +
- "</soapenv:Body></soapenv:Envelope>";
-
- MessageFactory mf = MessageFactory.newInstance();
- SOAPMessage message =
- mf.createMessage(new MimeHeaders(), new ByteArrayInputStream(xmlString.getBytes()));
-
SOAPBody body = message.getSOAPBody();
Node bodyElement = body.getFirstChild();
NodeList textNodes = bodyElement.getChildNodes();
-
- assertEquals(textNodes.getLength(), 3);
-
- for(int i = 0;i < textNodes.getLength(); i++){
- Node nde = textNodes.item(i);
- boolean isComment;
- if(nde instanceof Text){
- isComment = ((Text)nde).isComment();
- if(i == 1)
- assertEquals(true, isComment);
- else
- assertEquals(false, isComment);
- }
- }
- }
+ assertEquals(5, textNodes.getLength());
- public static void main(String[] args) throws Exception {
- TextTest tester = new TextTest("TestEnvelope");
- tester.testAddTextNode();
- tester.testComment();
+ for (int i = 0; i < textNodes.getLength(); i++) {
+ Node nde = textNodes.item(i);
+ boolean isComment;
+ if (nde instanceof Text) {
+ isComment = ((Text) nde).isComment();
+ if (i == 1)
+ assertEquals(true, isComment);
+ else
+ assertEquals(false, isComment);
+ }
+ }
}
-
}