I have an application that I need both a web server, and webservices to run together on the same port. How do I configure cxf to work?
Example I need to run on http://192.168.10.100:9000/ From this directory I will serve misc html and resources for a flex application Then I need to run two different web services http://192.168.10.100:9000/ws/SomeWebService1 http://192.168.10.100:9000/ws/SomeWebService2 How do I set this up? This is what I have so far. Please help I have been beating myself up all morning. I would also prefer to do this without the spring configuration. I already have a zillion jars so I don't really want that many more. TIA Garry private void setupHTTPServer(Properties props) throws Exception { SelectChannelConnector con = new SelectChannelConnector(); String ipAddress = props.getProperty(HTTP_IP_ADDRESS); con.setHost(ipAddress); int port = 8080; try { port = Integer.parseInt(props.getProperty("slx.http.port")); } catch(NumberFormatException nfe){ // do nothing default to 8080 } con.setPort(port); JettyHTTPServerEngineFactory sef = new JettyHTTPServerEngineFactory(); JettyHTTPServerEngine eng = sef.createJettyHTTPServerEngine(port, "http"); eng.setConnector(con); List<Handler> handlers = new ArrayList<Handler>(); ResourceHandler resource_handler = new ResourceHandler(); resource_handler.setResourceBase("../webServerRoot"); handlers.add(resource_handler); ServletHandler servlet_handler = new ServletHandler(); servlet_handler.addServletWithMapping(, "/MasterStatus"); servlet_handler.addServletWithMapping(SendEmployeesServlet.class, "/ SendEmployees"); handlers.add(servlet_handler); eng.setHandlers(handlers); } private void setupServices(Properties props) throws Exception { String ipAddress = props.getProperty(HTTP_IP_ADDRESS); String port = props.getProperty(HTTP_PORT); Enumeration<?> keys = props.keys(); while(keys.hasMoreElements()){ String key = (String)keys.nextElement(); if (key.startsWith(WEB_SERVICE_URL)){ String url = props.getProperty(key).replace("{http.ipAddress}", ipAddress).replace("{http.port}", port); String subKey = key.replaceFirst(WEB_SERVICE_URL, ""); String implKey = WEB_SERVICE_IMPL + subKey; String implClassName = props.getProperty(implKey); Class<?> klass = Class.forName(implClassName); Constructor<?> konstr = klass.getConstructor(new Class[]{}); Object svcImpl = konstr.newInstance(new Object[]{}); JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean(); svrFactory.setServiceClass(klass); svrFactory.setAddress(url); svrFactory.setServiceBean(svcImpl); svrFactory.create(); } } }
