[ 
https://issues.apache.org/jira/browse/WICKET-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17034067#comment-17034067
 ] 

Maxim Solodovnik commented on WICKET-6746:
------------------------------------------

Or maybe the url for css should be absolute (with protocol)? 

> HttpsMapper cannot deal with resources over websockets
> ------------------------------------------------------
>
>                 Key: WICKET-6746
>                 URL: https://issues.apache.org/jira/browse/WICKET-6746
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket, wicket-native-websocket
>    Affects Versions: 9.0.0-M4
>            Reporter: Martin Tzvetanov Grigorov
>            Assignee: Emond Papegaaij
>            Priority: Major
>         Attachments: wicket-6746.tar.gz
>
>
> Wicket Examples WebSocket demo "Initiate download with Web Socket message" is 
> broken in current master due to the new wicket-core.css:
> {code}
> ERROR - DefaultExceptionMapper     - unexpected exception when handling 
> another exception: An error occurred while generating an Url for handler 
> 'ResourceReferenceRequestHandler{resourceReference=scope: 
> org.apache.wicket.css.WicketCoreCSSResourceReference; name: wicket-core.css; 
> locale: null; style: null; variation: null, pageParameters=}'
> org.apache.wicket.WicketRuntimeException: An error occurred while generating 
> an Url for handler 'ResourceReferenceRequestHandler{resourceReference=scope: 
> org.apache.wicket.css.WicketCoreCSSResourceReference; name: wicket-core.css; 
> locale: null; style: null; variation: null, pageParameters=}'
>       at 
> org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:560)
>       at 
> org.apache.wicket.markup.head.CssReferenceHeaderItem.getUrl(CssReferenceHeaderItem.java:151)
>       at 
> org.apache.wicket.markup.head.CssReferenceHeaderItem.getRenderTokens(CssReferenceHeaderItem.java:138)
>       at 
> org.apache.wicket.markup.head.internal.HeaderResponse.wasItemRendered(HeaderResponse.java:61)
>       at 
> org.apache.wicket.markup.head.internal.HeaderResponse.render(HeaderResponse.java:52)
>       at 
> org.apache.wicket.page.PartialPageUpdate$PartialHeaderResponse.render(PartialPageUpdate.java:702)
>       at 
> org.apache.wicket.markup.head.ResourceAggregator.renderHeaderItems(ResourceAggregator.java:339)
>       at 
> org.apache.wicket.markup.head.ResourceAggregator.close(ResourceAggregator.java:308)
>       at 
> org.apache.wicket.page.PartialPageUpdate.writeComponents(PartialPageUpdate.java:299)
>       at 
> org.apache.wicket.page.PartialPageUpdate.writeTo(PartialPageUpdate.java:167)
>       at 
> org.apache.wicket.protocol.ws.api.WebSocketRequestHandler.respond(WebSocketRequestHandler.java:239)
>       at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:917)
>       at 
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:63)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:254)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:222)
>       at 
> org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:260)
>       at 
> org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.onMessage(AbstractWebSocketProcessor.java:148)
>       at 
> org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHandler.onMessage(JavaxWebSocketProcessor.java:65)
>       at 
> org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHandler.onMessage(JavaxWebSocketProcessor.java:60)
>       at 
> org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:395)
>       at 
> org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119)
>       at 
> org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495)
>       at 
> org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294)
>       at 
> org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
>       at 
> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
>       at 
> org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
>       at 
> org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
>       at 
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
>       at 
> org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
>       at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
>       at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
>       at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
>       at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>       at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>       at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: java.lang.IllegalStateException: Could not resolve protocol for 
> request: org.apache.wicket.protocol.ws.api.ServletRequestCopy@5c61f8d8
>       at 
> org.apache.wicket.protocol.https.HttpsMapper.getSchemeOf(HttpsMapper.java:224)
>       at 
> org.apache.wicket.protocol.https.HttpsMapper.mapHandler(HttpsMapper.java:176)
>       at 
> org.apache.wicket.protocol.https.HttpsMapper.mapHandler(HttpsMapper.java:121)
>       at 
> org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:210)
>       at 
> org.apache.wicket.protocol.ws.api.WebSocketRequestMapper.mapHandler(WebSocketRequestMapper.java:61)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:454)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:554)
>       ... 37 more
> WARN  - WebSocketResponse          - An HTTP error response in WebSocket 
> communication would not be processed by the browser! If you need to send the 
> error code and message to the client then configure custom WebSocketResponse 
> via WebSocketSettings#newWebSocketResponse() factory method and override 
> #sendError() method to write them in an appropriate format for your 
> application. The ignored error code is '500' and the message: 'null'.
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to