1 package org.objectweb.celtix.bus.ws.rm; 2 3 import java.net.URL ; 4 import java.util.List ; 5 import java.util.concurrent.Future ; 6 7 import javax.jws.WebService; 8 import javax.xml.namespace.QName ; 9 import javax.xml.ws.AsyncHandler; 10 import javax.xml.ws.BindingProvider; 11 import javax.xml.ws.Endpoint; 12 import javax.xml.ws.Response; 13 import javax.xml.ws.handler.Handler; 14 15 import junit.framework.TestCase; 16 17 import org.objectweb.celtix.Bus; 18 import org.objectweb.celtix.bindings.AbstractBindingImpl; 19 import org.objectweb.celtix.greeter_control.Greeter; 20 import org.objectweb.celtix.greeter_control.GreeterService; 21 import org.objectweb.celtix.greeter_control.PingMeFault; 22 import org.objectweb.celtix.greeter_control.types.GreetMeResponse; 23 import org.objectweb.celtix.greeter_control.types.PingMeResponse; 24 import org.objectweb.celtix.greeter_control.types.SayHiResponse; 25 26 public class RMHandlerTest extends TestCase { 27 private static final String APP_NAMESPACE = "http://celtix.objectweb.org/greeter_control"; 28 private static final String CFG_FILE_PROPERTY = "celtix.config.file"; 29 private static final QName SERVICE_NAME = new QName (APP_NAMESPACE, "GreeterService"); 30 private static final QName PORT_NAME = new QName (APP_NAMESPACE, "GreeterPort"); 31 32 private String celtixCfgFile; 33 private Bus bus; 34 35 public void setUp() throws Exception { 36 37 celtixCfgFile = System.getProperty(CFG_FILE_PROPERTY); 38 URL url = RMHandlerTest.class.getResource("resources/RMHandlerTest.xml"); 39 assert null != url; 40 String configFileName = url.toString(); 41 System.setProperty(CFG_FILE_PROPERTY, configFileName); 42 bus = Bus.init(); 43 } 44 45 public void tearDown() throws Exception { 46 bus.shutdown(true); 47 if (null != celtixCfgFile) { 48 System.setProperty(CFG_FILE_PROPERTY, celtixCfgFile); 49 } else { 50 System.clearProperty(CFG_FILE_PROPERTY); 51 } 52 } 53 54 55 public void testInitialisationClientSide() throws Exception { 56 57 URL wsdl = getClass().getResource("/wsdl/greeter_control.wsdl"); 58 GreeterService greeterService = new GreeterService(wsdl, SERVICE_NAME); 59 Greeter greeter = greeterService.getPort(PORT_NAME, Greeter.class); 60 61 BindingProvider provider = (BindingProvider)greeter; 62 AbstractBindingImpl abi = (AbstractBindingImpl)provider.getBinding(); 63 List <Handler> handlerChain = abi.getPreLogicalSystemHandlers(); 64 65 assertEquals(1, handlerChain.size()); 66 RMHandler handler = (RMHandler)handlerChain.get(0); 67 68 assertEquals(bus, handler.getBus()); 69 assertNotNull(handler.getClientBinding()); 70 assertNull(handler.getServerBinding()); 71 assertNotNull(handler.getBinding()); 72 73 assertNotNull(handler.getClientTransport()); 74 assertNull(handler.getServerTransport()); 75 assertNotNull(handler.getTransport()); 76 77 } 78 79 public void testInitialisationServerSide() { 80 81 String address = "http://localhost:9000/SoapContext/GreeterPort"; 82 Endpoint ep = Endpoint.publish(address, new GreeterImpl()); 83 84 AbstractBindingImpl abi = (AbstractBindingImpl)ep.getBinding(); 85 List <Handler> handlerChain = abi.getPreLogicalSystemHandlers(); 86 87 assertEquals(1, handlerChain.size()); 88 RMHandler handler = (RMHandler)handlerChain.get(0); 89 90 assertEquals(bus, handler.getBus()); 91 assertNull(handler.getClientBinding()); 92 assertNotNull(handler.getServerBinding()); 93 assertNotNull(handler.getBinding()); 94 95 assertNull(handler.getClientTransport()); 96 assertNotNull(handler.getServerTransport()); 97 assertNotNull(handler.getTransport()); 98 } 99 100 @WebService(serviceName = "GreeterService", portName = "GreeterPort", 101 endpointInterface = "org.objectweb.celtix.greeter_control.Greeter", 102 targetNamespace = "http://celtix.objectweb.org/greeter_control") 103 class GreeterImpl implements Greeter { 104 105 public String greetMe(String requestType) { 106 return null; 107 } 108 109 public Future <?> greetMeAsync(String requestType, AsyncHandler<GreetMeResponse> asyncHandler) { 110 return null; 111 } 112 113 public Response<GreetMeResponse> greetMeAsync(String requestType) { 114 return null; 115 } 116 117 public void greetMeOneWay(String requestType) { 118 } 119 120 public void pingMe() throws PingMeFault { 121 } 122 123 public Response<PingMeResponse> pingMeAsync() { 124 return null; 125 } 126 127 public Future <?> pingMeAsync(AsyncHandler<PingMeResponse> asyncHandler) { 128 return null; 129 } 130 131 public String sayHi() { 132 return null; 133 } 134 135 public Response<SayHiResponse> sayHiAsync() { 136 return null; 137 } 138 139 public Future <?> sayHiAsync(AsyncHandler<SayHiResponse> asyncHandler) { 140 return null; 141 } 142 } 143 } 144 | Popular Tags |