KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > systest > handlers > RegistrationTest


1 package org.objectweb.celtix.systest.handlers;
2
3 import java.net.URL JavaDoc;
4 import java.util.List JavaDoc;
5
6 import javax.xml.namespace.QName JavaDoc;
7 import javax.xml.ws.BindingProvider;
8 import javax.xml.ws.handler.Handler;
9 import javax.xml.ws.handler.HandlerResolver;
10
11 import org.objectweb.celtix.bus.handlers.PortInfoImpl;
12 import org.objectweb.celtix.systest.common.ClientServerTestBase;
13 import org.objectweb.hello_world_soap_http.Greeter;
14 import org.objectweb.hello_world_soap_http.SOAPService;
15
16 public class RegistrationTest extends ClientServerTestBase {
17     
18     private final QName JavaDoc serviceName = new QName JavaDoc("http://objectweb.org/hello_world_soap_http",
19                                                 "SOAPService");
20     private final QName JavaDoc portName = new QName JavaDoc("http://objectweb.org/hello_world_soap_http",
21                                              "SoapPort");
22     
23     private URL JavaDoc wsdl;
24     private SOAPService service;
25     private Greeter greeter;
26     
27     public void setUp() {
28         try {
29             super.setUp();
30             
31             wsdl = RegistrationTest.class.getResource("/wsdl/hello_world.wsdl");
32             service = new SOAPService(wsdl, serviceName);
33             greeter = service.getPort(portName, Greeter.class);
34         } catch (Exception JavaDoc ex) {
35             ex.printStackTrace();
36             fail(ex.toString());
37         }
38     }
39     
40     
41     public void testServerHandlerRegistrationOnBinding() {
42         
43     }
44     
45
46     /**
47      * test that a handler registered via Service HandlerResolver ends up
48      * in the port's handler chain
49      *
50      */

51     public void testClientHandlerRegistrationOnService() {
52         
53         PortInfoImpl p1 = new PortInfoImpl(serviceName, portName, null);
54         
55         assertNotNull(service);
56         HandlerResolver resolver = service.getHandlerResolver();
57         assertNotNull(resolver);
58
59         List JavaDoc<Handler> handlers = resolver.getHandlerChain(p1);
60         assertEquals(0, handlers.size());
61         final TestHandler dummyHandler = new TestHandler();
62         handlers.add(dummyHandler);
63         assertEquals(1, handlers.size());
64         
65         Greeter g = service.getPort(portName, Greeter.class);
66         assertTrue(g instanceof BindingProvider);
67         
68         List JavaDoc<Handler> bindingHandlers = ((BindingProvider)g).getBinding().getHandlerChain();
69         assertNotNull(bindingHandlers);
70         assertEquals(1, bindingHandlers.size());
71         assertSame(dummyHandler, bindingHandlers.get(0));
72     }
73     
74     public void testChangingServiceHandlerChainDoesNotAffectProxy() {
75         
76         List JavaDoc<Handler> proxyHandlers = ((BindingProvider)greeter).getBinding().getHandlerChain();
77         assertEquals(0, proxyHandlers.size());
78         
79         PortInfoImpl p1 = new PortInfoImpl(serviceName, portName, null);
80         HandlerResolver resolver = service.getHandlerResolver();
81         resolver.getHandlerChain(p1).add(new TestHandler());
82         assertEquals(0, proxyHandlers.size());
83     }
84    
85 }
86
Popular Tags