KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > jaxws > io > SOAPMessageDataWriterTest


1 package org.objectweb.celtix.bus.jaxws.io;
2
3 import java.io.IOException JavaDoc;
4 import java.io.InputStream JavaDoc;
5
6 import javax.xml.soap.MessageFactory JavaDoc;
7 import javax.xml.soap.SOAPException JavaDoc;
8 import javax.xml.soap.SOAPMessage JavaDoc;
9 import javax.xml.transform.dom.DOMSource JavaDoc;
10 import javax.xml.transform.sax.SAXSource JavaDoc;
11 import javax.xml.transform.stream.StreamSource JavaDoc;
12
13 import org.xml.sax.InputSource JavaDoc;
14
15 import junit.framework.TestCase;
16
17 import org.objectweb.celtix.bindings.DataBindingCallback.Mode;
18 import org.objectweb.celtix.bus.jaxws.DynamicDataBindingCallback;
19
20 public class SOAPMessageDataWriterTest<T> extends TestCase {
21     
22     private SOAPMessage JavaDoc soapMsg;
23     private InputStream JavaDoc is;
24     private InputStream JavaDoc is2;
25     private InputStream JavaDoc is3;
26     private Object JavaDoc obj;
27     private DOMSource JavaDoc domSource;
28     private SAXSource JavaDoc saxSource;
29     private StreamSource JavaDoc streamSource;
30     
31     public void setUp() throws IOException JavaDoc, SOAPException JavaDoc {
32         is = getClass().getResourceAsStream("GreetMeDocLiteralReq.xml");
33         is2 = getClass().getResourceAsStream("GreetMeDocLiteralReq.xml");
34         is3 = getClass().getResourceAsStream("GreetMeDocLiteralReq.xml");
35         SOAPMessage JavaDoc msg = MessageFactory.newInstance().createMessage(null, is);
36         domSource = new DOMSource JavaDoc(msg.getSOAPPart());
37         saxSource = new SAXSource JavaDoc(new InputSource JavaDoc(is2));
38         streamSource = new StreamSource JavaDoc(is3);
39         soapMsg = MessageFactory.newInstance().createMessage();
40         assertNotNull(soapMsg);
41     }
42     
43     public void tearDown() throws IOException JavaDoc {
44         //is.close();
45
}
46     
47     public void testDOMSourceWrite() throws Exception JavaDoc {
48         TestDynamicDataBindingCallback callback =
49             new TestDynamicDataBindingCallback(DOMSource JavaDoc.class, Mode.MESSAGE);
50         TestSOAPMessageDataWriter<SOAPMessage JavaDoc> soapMessageDataWriter =
51             new TestSOAPMessageDataWriter<SOAPMessage JavaDoc>(callback);
52         obj = domSource;
53         soapMessageDataWriter.write(obj, soapMsg);
54         SOAPMessage JavaDoc soapMessage = soapMessageDataWriter.getTestSOAPMessage();
55         assertTrue("TextContent should be TestSOAPInputMessage",
56                    "TestSOAPInputMessage".equals(soapMessage.getSOAPBody().getFirstChild().getTextContent()));
57         
58     }
59     
60     public void testSAXSourceWrite() throws Exception JavaDoc {
61         TestDynamicDataBindingCallback callback =
62             new TestDynamicDataBindingCallback(SAXSource JavaDoc.class, Mode.MESSAGE);
63         TestSOAPMessageDataWriter<SOAPMessage JavaDoc> soapMessageDataWriter =
64             new TestSOAPMessageDataWriter<SOAPMessage JavaDoc>(callback);
65         obj = saxSource;
66         soapMessageDataWriter.write(obj, soapMsg);
67         SOAPMessage JavaDoc soapMessage = soapMessageDataWriter.getTestSOAPMessage();
68         assertTrue("TextContent should be TestSOAPInputMessage",
69                    "TestSOAPInputMessage".equals(soapMessage.getSOAPBody().getFirstChild().getTextContent()));
70       
71     }
72     
73     public void testStreamSourceWrite() throws Exception JavaDoc {
74         TestDynamicDataBindingCallback callback =
75             new TestDynamicDataBindingCallback(StreamSource JavaDoc.class, Mode.MESSAGE);
76         TestSOAPMessageDataWriter<SOAPMessage JavaDoc> soapMessageDataWriter =
77             new TestSOAPMessageDataWriter<SOAPMessage JavaDoc>(callback);
78         obj = streamSource;
79         soapMessageDataWriter.write(obj, soapMsg);
80         SOAPMessage JavaDoc soapMessage = soapMessageDataWriter.getTestSOAPMessage();
81         assertTrue("TextContent should be TestSOAPInputMessage",
82                    "TestSOAPInputMessage".equals(soapMessage.getSOAPBody().getFirstChild().getTextContent()));
83       
84     }
85     
86     
87     private class TestSOAPMessageDataWriter<X> extends SOAPMessageDataWriter<X> {
88
89         public TestSOAPMessageDataWriter(DynamicDataBindingCallback cb) {
90             super(cb);
91         }
92         
93         public SOAPMessage JavaDoc getTestSOAPMessage() {
94             return dest;
95         }
96         
97     }
98
99 }
100
Popular Tags