KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > systest > dispatch > DispatchClientServerTest


1 package org.objectweb.celtix.systest.dispatch;
2
3 import java.io.IOException JavaDoc;
4 import java.io.InputStream JavaDoc;
5 import java.net.URL JavaDoc;
6 import java.util.concurrent.Future JavaDoc;
7
8 import javax.xml.bind.JAXBContext;
9 import javax.xml.namespace.QName JavaDoc;
10 import javax.xml.soap.MessageFactory JavaDoc;
11 import javax.xml.soap.SOAPMessage JavaDoc;
12 import javax.xml.transform.dom.DOMSource JavaDoc;
13 import javax.xml.transform.sax.SAXSource JavaDoc;
14 import javax.xml.transform.stream.StreamSource JavaDoc;
15 import javax.xml.ws.AsyncHandler;
16 import javax.xml.ws.Dispatch;
17 import javax.xml.ws.Response;
18 import javax.xml.ws.Service;
19
20 import org.xml.sax.InputSource JavaDoc;
21
22 import junit.framework.Test;
23 import junit.framework.TestSuite;
24
25 import org.objectweb.celtix.systest.basic.Server;
26 import org.objectweb.celtix.systest.common.ClientServerSetupBase;
27 import org.objectweb.celtix.systest.common.ClientServerTestBase;
28 import org.objectweb.hello_world_soap_http.SOAPService;
29 import org.objectweb.hello_world_soap_http.types.GreetMe;
30 import org.objectweb.hello_world_soap_http.types.GreetMeResponse;
31
32 public class DispatchClientServerTest extends ClientServerTestBase {
33
34     private final QName JavaDoc serviceName = new QName JavaDoc("http://objectweb.org/hello_world_soap_http",
35                                                 "SOAPService");
36     private final QName JavaDoc portName = new QName JavaDoc("http://objectweb.org/hello_world_soap_http",
37                                              "SoapPort");
38
39     public static Test suite() throws Exception JavaDoc {
40         TestSuite suite = new TestSuite(DispatchClientServerTest.class);
41         return new ClientServerSetupBase(suite) {
42             public void startServers() throws Exception JavaDoc {
43                 assertTrue("server did not launch correctly", launchServer(Server.class));
44             }
45         };
46     }
47
48     public void testSOAPMessage() throws Exception JavaDoc {
49
50         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
51         assertNotNull(wsdl);
52
53         SOAPService service = new SOAPService(wsdl, serviceName);
54         assertNotNull(service);
55
56         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
57         SOAPMessage JavaDoc soapReqMsg = MessageFactory.newInstance().createMessage(null, is);
58         assertNotNull(soapReqMsg);
59         
60         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
61         SOAPMessage JavaDoc soapReqMsg1 = MessageFactory.newInstance().createMessage(null, is1);
62         assertNotNull(soapReqMsg1);
63         
64         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq2.xml");
65         SOAPMessage JavaDoc soapReqMsg2 = MessageFactory.newInstance().createMessage(null, is2);
66         assertNotNull(soapReqMsg2);
67         
68         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
69         SOAPMessage JavaDoc soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
70         assertNotNull(soapReqMsg3);
71
72         Dispatch<SOAPMessage JavaDoc> disp = service.createDispatch(portName,
73                                                             SOAPMessage JavaDoc.class, Service.Mode.MESSAGE);
74         SOAPMessage JavaDoc soapResMsg = disp.invoke(soapReqMsg);
75         assertNotNull(soapResMsg);
76         String JavaDoc expected = "Hello TestSOAPInputMessage";
77         assertEquals("Response should be : Hello TestSOAPInputMessage",
78                      expected, soapResMsg.getSOAPBody().getTextContent());
79         
80         disp.invokeOneWay(soapReqMsg1);
81         
82         Response response = disp.invokeAsync(soapReqMsg2);
83         SOAPMessage JavaDoc soapResMsg2 = (SOAPMessage JavaDoc)response.get();
84         assertNotNull(soapResMsg2);
85         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
86         assertEquals("Response should be : Hello TestSOAPInputMessage2",
87                      expected2, soapResMsg2.getSOAPBody().getTextContent());
88         
89         TestSOAPMessageHandler tsmh = new TestSOAPMessageHandler();
90         Future JavaDoc f = disp.invokeAsync(soapReqMsg3, tsmh);
91         assertNotNull(f);
92         while (!f.isDone()) {
93             //wait
94
}
95         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
96         assertEquals("Response should be : Hello TestSOAPInputMessage3",
97                      expected3, tsmh.getReplyBuffer());
98     }
99     
100
101
102     public void testDOMSourceMESSAGE() throws Exception JavaDoc {
103
104         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
105         assertNotNull(wsdl);
106
107         SOAPService service = new SOAPService(wsdl, serviceName);
108         assertNotNull(service);
109
110         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
111         SOAPMessage JavaDoc soapReqMsg = MessageFactory.newInstance().createMessage(null, is);
112         DOMSource JavaDoc domReqMsg = new DOMSource JavaDoc(soapReqMsg.getSOAPPart());
113         assertNotNull(domReqMsg);
114         
115         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
116         SOAPMessage JavaDoc soapReqMsg1 = MessageFactory.newInstance().createMessage(null, is1);
117         DOMSource JavaDoc domReqMsg1 = new DOMSource JavaDoc(soapReqMsg1.getSOAPPart());
118         assertNotNull(domReqMsg1);
119         
120         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq2.xml");
121         SOAPMessage JavaDoc soapReqMsg2 = MessageFactory.newInstance().createMessage(null, is2);
122         DOMSource JavaDoc domReqMsg2 = new DOMSource JavaDoc(soapReqMsg2.getSOAPPart());
123         assertNotNull(domReqMsg2);
124         
125         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
126         SOAPMessage JavaDoc soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
127         DOMSource JavaDoc domReqMsg3 = new DOMSource JavaDoc(soapReqMsg3.getSOAPPart());
128         assertNotNull(domReqMsg3);
129     
130
131         Dispatch<DOMSource JavaDoc> disp = service.createDispatch(portName,
132                                                             DOMSource JavaDoc.class, Service.Mode.MESSAGE);
133         DOMSource JavaDoc domResMsg = disp.invoke(domReqMsg);
134         assertNotNull(domResMsg);
135         String JavaDoc expected = "Hello TestSOAPInputMessage";
136         assertEquals("Response should be : Hello TestSOAPInputMessage",
137                      expected, domResMsg.getNode().getFirstChild().getTextContent());
138         
139         disp.invokeOneWay(domReqMsg1);
140         
141         Response response = disp.invokeAsync(domReqMsg2);
142         DOMSource JavaDoc domRespMsg2 = (DOMSource JavaDoc)response.get();
143         assertNotNull(domReqMsg2);
144         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
145         assertEquals("Response should be : Hello TestSOAPInputMessage2",
146                      expected2, domRespMsg2.getNode().getFirstChild().getTextContent());
147         
148         
149         TestDOMSourceHandler tdsh = new TestDOMSourceHandler();
150         Future JavaDoc fd = disp.invokeAsync(domReqMsg3, tdsh);
151         assertNotNull(fd);
152         while (!fd.isDone()) {
153             //wait
154
}
155         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
156         assertEquals("Response should be : Hello TestSOAPInputMessage3",
157                      expected3, tdsh.getReplyBuffer());
158     }
159     
160   
161     public void testDOMSourcePAYLOAD() throws Exception JavaDoc {
162
163         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
164         assertNotNull(wsdl);
165
166         SOAPService service = new SOAPService(wsdl, serviceName);
167         assertNotNull(service);
168
169         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
170         SOAPMessage JavaDoc soapReqMsg = MessageFactory.newInstance().createMessage(null, is);
171         DOMSource JavaDoc domReqMsg = new DOMSource JavaDoc(soapReqMsg.getSOAPBody().extractContentAsDocument());
172         assertNotNull(domReqMsg);
173         
174         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
175         SOAPMessage JavaDoc soapReqMsg1 = MessageFactory.newInstance().createMessage(null, is1);
176         DOMSource JavaDoc domReqMsg1 = new DOMSource JavaDoc(soapReqMsg1.getSOAPBody().extractContentAsDocument());
177         assertNotNull(domReqMsg1);
178         
179         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq2.xml");
180         SOAPMessage JavaDoc soapReqMsg2 = MessageFactory.newInstance().createMessage(null, is2);
181         DOMSource JavaDoc domReqMsg2 = new DOMSource JavaDoc(soapReqMsg2.getSOAPBody().extractContentAsDocument());
182         assertNotNull(domReqMsg2);
183         
184         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
185         SOAPMessage JavaDoc soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
186         DOMSource JavaDoc domReqMsg3 = new DOMSource JavaDoc(soapReqMsg3.getSOAPBody().extractContentAsDocument());
187         assertNotNull(domReqMsg3);
188
189         Dispatch<DOMSource JavaDoc> disp = service.createDispatch(portName,
190                                                             DOMSource JavaDoc.class, Service.Mode.PAYLOAD);
191         
192         //invoke
193
DOMSource JavaDoc domResMsg = disp.invoke(domReqMsg);
194         assertNotNull(domResMsg);
195         String JavaDoc expected = "Hello TestSOAPInputMessage";
196         assertEquals("Response should be : Hello TestSOAPInputMessage",
197                      expected, domResMsg.getNode().getFirstChild().getTextContent());
198         
199         //invokeOneWay
200
disp.invokeOneWay(domReqMsg1);
201         
202         //invokeAsync
203
Response response = disp.invokeAsync(domReqMsg2);
204         DOMSource JavaDoc domRespMsg2 = (DOMSource JavaDoc)response.get();
205         assertNotNull(domRespMsg2);
206         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
207         assertEquals("Response should be : Hello TestSOAPInputMessage2",
208                      expected2, domRespMsg2.getNode().getFirstChild().getTextContent());
209         
210         
211         //invokeAsync with AsyncHandler
212
TestDOMSourceHandler tdsh = new TestDOMSourceHandler();
213         Future JavaDoc fd = disp.invokeAsync(domReqMsg3, tdsh);
214         assertNotNull(fd);
215         while (!fd.isDone()) {
216             //wait
217
}
218         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
219         assertEquals("Response should be : Hello TestSOAPInputMessage3",
220                      expected3, tdsh.getReplyBuffer());
221
222     }
223     
224     public void testSAXSourceMESSAGE() throws Exception JavaDoc {
225
226         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
227         assertNotNull(wsdl);
228
229         SOAPService service = new SOAPService(wsdl, serviceName);
230         assertNotNull(service);
231
232         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
233         InputSource JavaDoc inputSource = new InputSource JavaDoc(is);
234         SAXSource JavaDoc saxSourceReq = new SAXSource JavaDoc(inputSource);
235         assertNotNull(saxSourceReq);
236         
237         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
238         InputSource JavaDoc inputSource1 = new InputSource JavaDoc(is1);
239         SAXSource JavaDoc saxSourceReq1 = new SAXSource JavaDoc(inputSource1);
240         assertNotNull(saxSourceReq1);
241         
242         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq2.xml");
243         InputSource JavaDoc inputSource2 = new InputSource JavaDoc(is2);
244         SAXSource JavaDoc saxSourceReq2 = new SAXSource JavaDoc(inputSource2);
245         assertNotNull(saxSourceReq2);
246         
247         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
248         InputSource JavaDoc inputSource3 = new InputSource JavaDoc(is3);
249         SAXSource JavaDoc saxSourceReq3 = new SAXSource JavaDoc(inputSource3);
250         assertNotNull(saxSourceReq3);
251
252         Dispatch<SAXSource JavaDoc> disp = service.createDispatch(portName,
253                                                             SAXSource JavaDoc.class, Service.Mode.MESSAGE);
254         SAXSource JavaDoc saxSourceResp = disp.invoke(saxSourceReq);
255         assertNotNull(saxSourceResp);
256         String JavaDoc expected = "Hello TestSOAPInputMessage";
257         checkSAXSource(expected, saxSourceResp);
258         
259         disp.invokeOneWay(saxSourceReq1);
260         
261         Response response = disp.invokeAsync(saxSourceReq2);
262         SAXSource JavaDoc saxSourceResp2 = (SAXSource JavaDoc)response.get();
263         assertNotNull(saxSourceResp2);
264         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
265         checkSAXSource(expected2, saxSourceResp2);
266         
267         
268         TestSAXSourceHandler tssh = new TestSAXSourceHandler();
269         Future JavaDoc fd = disp.invokeAsync(saxSourceReq3, tssh);
270         assertNotNull(fd);
271         while (!fd.isDone()) {
272             //wait
273
}
274         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
275         SAXSource JavaDoc saxSourceResp3 = tssh.getSAXSource();
276         assertNotNull(saxSourceResp3);
277         checkSAXSource(expected3, saxSourceResp3);
278
279     }
280
281  
282     public void testSAXSourcePAYLOAD() throws Exception JavaDoc {
283         
284         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
285         assertNotNull(wsdl);
286
287         SOAPService service = new SOAPService(wsdl, serviceName);
288         assertNotNull(service);
289
290         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq.xml");
291         InputSource JavaDoc inputSource = new InputSource JavaDoc(is);
292         SAXSource JavaDoc saxSourceReq = new SAXSource JavaDoc(inputSource);
293         assertNotNull(saxSourceReq);
294         
295         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq1.xml");
296         InputSource JavaDoc inputSource1 = new InputSource JavaDoc(is1);
297         SAXSource JavaDoc saxSourceReq1 = new SAXSource JavaDoc(inputSource1);
298         assertNotNull(saxSourceReq1);
299         
300         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq2.xml");
301         InputSource JavaDoc inputSource2 = new InputSource JavaDoc(is2);
302         SAXSource JavaDoc saxSourceReq2 = new SAXSource JavaDoc(inputSource2);
303         assertNotNull(saxSourceReq2);
304         
305         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq3.xml");
306         InputSource JavaDoc inputSource3 = new InputSource JavaDoc(is3);
307         SAXSource JavaDoc saxSourceReq3 = new SAXSource JavaDoc(inputSource3);
308         assertNotNull(saxSourceReq3);
309
310         Dispatch<SAXSource JavaDoc> disp = service.createDispatch(portName,
311                                                             SAXSource JavaDoc.class, Service.Mode.PAYLOAD);
312         SAXSource JavaDoc saxSourceResp = disp.invoke(saxSourceReq);
313         assertNotNull(saxSourceResp);
314         String JavaDoc expected = "Hello TestSOAPInputMessage";
315         checkSAXSource(expected, saxSourceResp);
316         
317         disp.invokeOneWay(saxSourceReq1);
318         
319         Response response = disp.invokeAsync(saxSourceReq2);
320         SAXSource JavaDoc saxSourceResp2 = (SAXSource JavaDoc)response.get();
321         assertNotNull(saxSourceResp2);
322         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
323         checkSAXSource(expected2, saxSourceResp2);
324         
325         
326         TestSAXSourceHandler tssh = new TestSAXSourceHandler();
327         Future JavaDoc fd = disp.invokeAsync(saxSourceReq3, tssh);
328         assertNotNull(fd);
329         while (!fd.isDone()) {
330             //wait
331
}
332         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
333         SAXSource JavaDoc saxSourceResp3 = tssh.getSAXSource();
334         assertNotNull(saxSourceResp3);
335         checkSAXSource(expected3, saxSourceResp3);
336
337     }
338     
339     public void testStreamSourceMESSAGE() throws Exception JavaDoc {
340
341         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
342         assertNotNull(wsdl);
343
344         SOAPService service = new SOAPService(wsdl, serviceName);
345         assertNotNull(service);
346
347         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq.xml");
348         StreamSource JavaDoc streamSourceReq = new StreamSource JavaDoc(is);
349         assertNotNull(streamSourceReq);
350         
351         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
352         StreamSource JavaDoc streamSourceReq1 = new StreamSource JavaDoc(is1);
353         assertNotNull(streamSourceReq1);
354         
355         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq2.xml");
356         StreamSource JavaDoc streamSourceReq2 = new StreamSource JavaDoc(is2);
357         assertNotNull(streamSourceReq2);
358         
359         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
360         StreamSource JavaDoc streamSourceReq3 = new StreamSource JavaDoc(is3);
361         assertNotNull(streamSourceReq3);
362         
363         
364     
365
366         Dispatch<StreamSource JavaDoc> disp = service.createDispatch(portName,
367                                                             StreamSource JavaDoc.class, Service.Mode.MESSAGE);
368         StreamSource JavaDoc streamSourceResp = disp.invoke(streamSourceReq);
369         assertNotNull(streamSourceResp);
370         String JavaDoc expected = "Hello TestSOAPInputMessage";
371         checkStreamSource(expected, streamSourceResp);
372         
373         disp.invokeOneWay(streamSourceReq1);
374         
375         Response response = disp.invokeAsync(streamSourceReq2);
376         StreamSource JavaDoc streamSourceResp2 = (StreamSource JavaDoc)response.get();
377         assertNotNull(streamSourceResp2);
378         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
379         checkStreamSource(expected2, streamSourceResp2);
380         
381         
382         TestStreamSourceHandler tssh = new TestStreamSourceHandler();
383         Future JavaDoc fd = disp.invokeAsync(streamSourceReq3, tssh);
384         assertNotNull(fd);
385         while (!fd.isDone()) {
386             //wait
387
}
388         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
389         StreamSource JavaDoc streamSourceResp3 = tssh.getStreamSource();
390         assertNotNull(streamSourceResp3);
391         checkStreamSource(expected3, streamSourceResp3);
392
393     }
394
395     public void testStreamSourcePAYLOAD() throws Exception JavaDoc {
396
397         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
398         assertNotNull(wsdl);
399
400         SOAPService service = new SOAPService(wsdl, serviceName);
401         assertNotNull(service);
402
403         InputStream JavaDoc is = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq.xml");
404         StreamSource JavaDoc streamSourceReq = new StreamSource JavaDoc(is);
405         assertNotNull(streamSourceReq);
406         
407         InputStream JavaDoc is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq1.xml");
408         StreamSource JavaDoc streamSourceReq1 = new StreamSource JavaDoc(is1);
409         assertNotNull(streamSourceReq1);
410         
411         InputStream JavaDoc is2 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq2.xml");
412         StreamSource JavaDoc streamSourceReq2 = new StreamSource JavaDoc(is2);
413         assertNotNull(streamSourceReq2);
414         
415         InputStream JavaDoc is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralSOAPBodyReq3.xml");
416         StreamSource JavaDoc streamSourceReq3 = new StreamSource JavaDoc(is3);
417         assertNotNull(streamSourceReq3);
418
419         Dispatch<StreamSource JavaDoc> disp = service.createDispatch(portName,
420                                                             StreamSource JavaDoc.class, Service.Mode.PAYLOAD);
421         StreamSource JavaDoc streamSourceResp = disp.invoke(streamSourceReq);
422         assertNotNull(streamSourceResp);
423         String JavaDoc expected = "Hello TestSOAPInputMessage";
424         checkStreamSource(expected, streamSourceResp);
425         
426         disp.invokeOneWay(streamSourceReq1);
427         
428         Response response = disp.invokeAsync(streamSourceReq2);
429         StreamSource JavaDoc streamSourceResp2 = (StreamSource JavaDoc)response.get();
430         assertNotNull(streamSourceResp2);
431         String JavaDoc expected2 = "Hello TestSOAPInputMessage2";
432         checkStreamSource(expected2, streamSourceResp2);
433         
434         
435         TestStreamSourceHandler tssh = new TestStreamSourceHandler();
436         Future JavaDoc fd = disp.invokeAsync(streamSourceReq3, tssh);
437         assertNotNull(fd);
438         while (!fd.isDone()) {
439             //wait
440
}
441         String JavaDoc expected3 = "Hello TestSOAPInputMessage3";
442         StreamSource JavaDoc streamSourceResp3 = tssh.getStreamSource();
443         assertNotNull(streamSourceResp3);
444         checkStreamSource(expected3, streamSourceResp3);
445
446     }
447     
448     public void testJAXBObjectPAYLOAD() throws Exception JavaDoc {
449
450         URL JavaDoc wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
451         assertNotNull(wsdl);
452
453         SOAPService service = new SOAPService(wsdl, serviceName);
454         assertNotNull(service);
455         
456         JAXBContext jc = JAXBContext.newInstance("org.objectweb.hello_world_soap_http.types");
457         Dispatch<Object JavaDoc> disp = service.createDispatch(portName, jc, Service.Mode.PAYLOAD);
458         
459         String JavaDoc expected = "Hello Jeeves";
460         GreetMe greetMe = new GreetMe();
461         greetMe.setRequestType("Jeeves");
462         
463         Object JavaDoc response = disp.invoke(greetMe);
464         assertNotNull(response);
465         String JavaDoc responseValue = ((GreetMeResponse)response).getResponseType();
466         assertTrue("Expected string, " + expected , expected.equals(responseValue));
467        
468         disp.invokeOneWay(greetMe);
469         
470         Response response2 = disp.invokeAsync(greetMe);
471         assertNotNull(response2);
472         GreetMeResponse greetMeResponse = (GreetMeResponse)response2.get();
473         String JavaDoc responseValue2 = greetMeResponse.getResponseType();
474         assertTrue("Expected string, " + expected , expected.equals(responseValue2));
475
476         
477         
478         TestJAXBHandler tjbh = new TestJAXBHandler();
479         Future JavaDoc fd = disp.invokeAsync(greetMe, tjbh);
480         assertNotNull(fd);
481         while (!fd.isDone()) {
482             //wait
483
}
484         String JavaDoc responseValue3 = ((GreetMeResponse)tjbh.getResponse()).getResponseType();
485         assertTrue("Expected string, " + expected , expected.equals(responseValue3));
486  
487     }
488    
489     
490     private void checkSAXSource(String JavaDoc expected, SAXSource JavaDoc source) {
491         
492         InputSource JavaDoc inputSource = source.getInputSource();
493         InputStream JavaDoc is = inputSource.getByteStream();
494         
495         int i = 0;
496         StringBuilder JavaDoc sb = new StringBuilder JavaDoc();
497         try {
498             while (i != -1) {
499                 i = is.read();
500                 sb.append((char)i);
501             }
502         } catch (IOException JavaDoc e) {
503             // TODO Auto-generated catch block
504
e.printStackTrace();
505         }
506         String JavaDoc received = sb.toString();
507         assertTrue("Expected: " + expected, received.contains(expected));
508         
509     }
510     
511     private void checkStreamSource(String JavaDoc expected, StreamSource JavaDoc source) {
512         
513         InputStream JavaDoc is = source.getInputStream();
514         
515         int i = 0;
516         StringBuilder JavaDoc sb = new StringBuilder JavaDoc();
517         try {
518             while (i != -1) {
519                 i = is.read();
520                 sb.append((char)i);
521             }
522         } catch (IOException JavaDoc e) {
523             // TODO Auto-generated catch block
524
e.printStackTrace();
525         }
526         String JavaDoc received = sb.toString();
527         assertTrue("Expected: " + expected, received.contains(expected));
528         
529     }
530     
531     
532     
533     class TestSOAPMessageHandler implements AsyncHandler<SOAPMessage JavaDoc> {
534         
535         String JavaDoc replyBuffer;
536         
537         public void handleResponse(Response<SOAPMessage JavaDoc> response) {
538             try {
539                 SOAPMessage JavaDoc reply = response.get();
540                 replyBuffer = reply.getSOAPBody().getTextContent();
541             } catch (Exception JavaDoc e) {
542                 e.printStackTrace();
543             }
544         }
545         
546         public String JavaDoc getReplyBuffer() {
547             return replyBuffer;
548         }
549     }
550     
551     class TestDOMSourceHandler implements AsyncHandler<DOMSource JavaDoc> {
552         
553         String JavaDoc replyBuffer;
554         
555         public void handleResponse(Response<DOMSource JavaDoc> response) {
556             try {
557                 DOMSource JavaDoc reply = response.get();
558                 replyBuffer = reply.getNode().getFirstChild().getTextContent();
559             } catch (Exception JavaDoc e) {
560                 e.printStackTrace();
561             }
562         }
563         
564         public String JavaDoc getReplyBuffer() {
565             return replyBuffer;
566         }
567     }
568     
569     class TestSAXSourceHandler implements AsyncHandler<SAXSource JavaDoc> {
570         
571         SAXSource JavaDoc reply;
572         
573         public void handleResponse(Response<SAXSource JavaDoc> response) {
574             try {
575                 reply = response.get();
576    
577             } catch (Exception JavaDoc e) {
578                 e.printStackTrace();
579             }
580         }
581         
582         public SAXSource JavaDoc getSAXSource() {
583             return reply;
584         }
585     }
586     
587     class TestStreamSourceHandler implements AsyncHandler<StreamSource JavaDoc> {
588         
589         StreamSource JavaDoc reply;
590         
591         public void handleResponse(Response<StreamSource JavaDoc> response) {
592             try {
593                 reply = response.get();
594    
595             } catch (Exception JavaDoc e) {
596                 e.printStackTrace();
597             }
598         }
599         
600         public StreamSource JavaDoc getStreamSource() {
601             return reply;
602         }
603     }
604     
605     class TestJAXBHandler implements AsyncHandler<Object JavaDoc> {
606         
607         Object JavaDoc reply;
608         
609         public void handleResponse(Response<Object JavaDoc> response) {
610             try {
611                 reply = response.get();
612             } catch (Exception JavaDoc e) {
613                 e.printStackTrace();
614             }
615         }
616         
617         public Object JavaDoc getResponse() {
618             return reply;
619         }
620     }
621
622 }
623
Popular Tags