if (!mainServices.isSuccessfulBoot()) {
Assert.fail(mainServices.getBootError().toString());
}
//WSDL soap:address rewrite engine options test
ServerConfig serverConfig = getMSCService(mainServices.getContainer(), WSServices.CONFIG_SERVICE, ServerConfig.class);
Assert.assertTrue(serverConfig.isModifySOAPAddress());
Assert.assertEquals("localhost", serverConfig.getWebServiceHost());
Assert.assertEquals(9895, serverConfig.getWebServicePort());
Assert.assertEquals(9944, serverConfig.getWebServiceSecurePort());
Assert.assertEquals("https", serverConfig.getWebServiceUriScheme());
Assert.assertEquals("s/jaxws-jbws2150-codefirst/xx\\/jaxws-jbws2150-codefirst/g", serverConfig.getWebServicePathRewriteRule());
//Client & Endpoint predefined configuration tests
//HACK: we need to manually reload the client/endpoint configs as the ServerConfigService is actually not starting in this test;
//the reason is that it requires services which are not installed here and even if those were available it would fail to start
//because we're not running in a modular environment and hence it won't be able to detect the proper ws stack implementation.
//Even if we made the subsystem work with a flat classloader (which would not make sense except for the tests here), we'd have
//to deal a hell of ws specific maven dependencies here... so really not worth the effort.
serverConfig.reloadClientConfigs();
ClientConfig clCfg = serverConfig.getClientConfig("My-Client-Config");
Assert.assertNotNull(clCfg);
Assert.assertEquals(1, clCfg.getProperties().size());
Assert.assertEquals("bar3", clCfg.getProperties().get("foo3"));
Assert.assertEquals(2, clCfg.getPreHandlerChains().size());
Map<String, UnifiedHandlerChainMetaData> map = new HashMap<String, UnifiedHandlerChainMetaData>();
for (UnifiedHandlerChainMetaData uhc : clCfg.getPreHandlerChains()) {
map.put(uhc.getId(), uhc);
}
Assert.assertTrue(map.get("my-handlers").getHandlers().isEmpty());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", map.get("my-handlers").getProtocolBindings());
Assert.assertEquals(1, map.get("my-handlers2").getHandlers().size());
Assert.assertEquals("MyHandler", map.get("my-handlers2").getHandlers().get(0).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.MyHandler", map.get("my-handlers2").getHandlers().get(0).getHandlerClass());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", map.get("my-handlers").getProtocolBindings());
Assert.assertEquals(1, clCfg.getPostHandlerChains().size());
Assert.assertEquals("my-handlers2", clCfg.getPostHandlerChains().get(0).getId());
Assert.assertEquals(1, clCfg.getPostHandlerChains().get(0).getHandlers().size());
Assert.assertEquals("MyHandler2", clCfg.getPostHandlerChains().get(0).getHandlers().get(0).getHandlerName());
Assert.assertEquals("org.jboss.ws.common.invocation.MyHandler2", clCfg.getPostHandlerChains().get(0).getHandlers().get(0).getHandlerClass());
Assert.assertEquals("##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM", clCfg.getPostHandlerChains().get(0).getProtocolBindings());
serverConfig.reloadEndpointConfigs();
EndpointConfig epCfg = serverConfig.getEndpointConfig("Standard-Endpoint-Config");
Assert.assertNotNull(epCfg);
Assert.assertTrue(epCfg.getProperties().isEmpty());
Assert.assertTrue(epCfg.getPreHandlerChains().isEmpty());
Assert.assertTrue(epCfg.getPostHandlerChains().isEmpty());
epCfg = serverConfig.getEndpointConfig("Recording-Endpoint-Config");
Assert.assertNotNull(epCfg);
Assert.assertEquals(2, epCfg.getProperties().size());
Assert.assertEquals("bar", epCfg.getProperties().get("foo"));
Assert.assertEquals("bar2", epCfg.getProperties().get("foo2"));
Assert.assertEquals(1, epCfg.getPreHandlerChains().size());