Hi, Is tomcat-websocket.jar in the classpath?
On Jun 19, 2017 5:36 PM, "Schulte André" <[email protected]> wrote: Hello, I just tried to switch to "wicket native websockets" in a springboot project: 1) filter changed to „org.apache.wicket.protocol. ws.javax.JavaxWebSocketFilter“ 2) added „add(new WebSocketBehavior() {});“ to page 3) <java.version>1.8</java.version> <tomcat.version>8.5.15</tomcat.version> <wicket.version>7.7.0</wicket.version> ... <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter parent</artifactId> <version>1.4.2.RELEASE</version> </parent> ... <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-native-websocket-javax</artifactId> <version>${wicket.version}</version> </dependency> 5) @SpringBootApplication(exclude = {ErrorMvcAutoConfiguration.class}) @Slf4j public class WebApplication { public static void main(String[] args) { SpringApplication.run(WebApplication.class, args); } @Bean public FilterRegistrationBean wicketFilter() { final FilterRegistrationBean wicketFilter = new FilterRegistrationBean(); wicketFilter.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR, DispatcherType.FORWARD); wicketFilter.setAsyncSupported(true); wicketFilter.setFilter(new JavaxWebSocketFilter()); wicketFilter.addInitParameter(WicketFilter.APP_FACT_PARAM, SpringWebApplicationFactory.class.getName()); wicketFilter.addInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*"); wicketFilter.addInitParameter("applicationBean", "wicketWebApplication"); wicketFilter.addInitParameter("configuration", "development"); wicketFilter.addUrlPatterns("/*"); return wicketFilter; } Logging: INFO 19/06/2017 16:13 org.apache.catalina.core.StandardService: Starting service [Tomcat] INFO 19/06/2017 16:13 org.apache.catalina.core.StandardEngine: Starting Servlet Engine: Apache Tomcat/8.5.15 INFO 19/06/2017 16:13 org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]: Initializing Spring embedded WebApplicationContext INFO 19/06/2017 16:13 org.springframework.web.context.ContextLoader: Root WebApplicationContext: initialization completed in 2044 ms INFO 19/06/2017 16:13 org.springframework.boot.web.servlet.FilterRegistrationBean: Mapping filter: 'characterEncodingFilter' to: [/*] INFO 19/06/2017 16:13 org.springframework.boot.web.servlet.FilterRegistrationBean: Mapping filter: 'hiddenHttpMethodFilter' to: [/*] INFO 19/06/2017 16:13 org.springframework.boot.web.servlet.FilterRegistrationBean: Mapping filter: 'httpPutFormContentFilter' to: [/*] INFO 19/06/2017 16:13 org.springframework.boot.web.servlet.FilterRegistrationBean: Mapping filter: 'requestContextFilter' to: [/*] INFO 19/06/2017 16:13 org.springframework.boot.web.servlet.FilterRegistrationBean: Mapping filter: 'javaxWebSocketFilter' to urls: [/*] INFO 19/06/2017 16:13 org.springframework.boot.web.servlet.ServletRegistrationBean: Mapping servlet: 'dispatcherServlet' to [/] ... INFO 19/06/2017 16:13 org.apache.wicket.Application: [javaxWebSocketFilter] init: Wicket extensions initializer INFO 19/06/2017 16:13 org.apache.wicket.protocol.http.WebApplication: [javaxWebSocketFilter] Started Wicket version 7.7.0 in DEVELOPMENT mode ... Result: WebSocket connection to 'ws://localhost:8080/wicket/ websocket?pageId=2&wicket-ajax-baseurl=intro%3F2&wicket-app-name=javaxWebSocketFilter' failed: Error during WebSocket handshake: Unexpected response code: 404 wicket-websocket-jquery-ver-1497450491000.js:69 No errors in the log on server start and while working Should this configuration work? or maybe I'm missing something? The „org.apache.wicket.protocol.ws.javax.WicketEndpoint#onOpen()“ is not being called We are using "embeded Tomcat of Spring Boot", maybe this is the reason .... Thanks in advance!
