1 package org.objectweb.celtix.systest.handlers; 2 3 import java.net.URL ; 4 import java.util.List ; 5 6 import javax.xml.namespace.QName ; 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 serviceName = new QName ("http://objectweb.org/hello_world_soap_http", 19 "SOAPService"); 20 private final QName portName = new QName ("http://objectweb.org/hello_world_soap_http", 21 "SoapPort"); 22 23 private URL 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 ex) { 35 ex.printStackTrace(); 36 fail(ex.toString()); 37 } 38 } 39 40 41 public void testServerHandlerRegistrationOnBinding() { 42 43 } 44 45 46 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 <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 <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 <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 |