[
https://issues.apache.org/jira/browse/CXF-5889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14066446#comment-14066446
]
Sergey Beryozkin commented on CXF-5889:
---------------------------------------
This is due to https://github.com/Atmosphere/atmosphere/issues/1672.
I have a workaround to be merged shortly
> No root resource matching request when using atmosphere websocket
> ------------------------------------------------------------------
>
> Key: CXF-5889
> URL: https://issues.apache.org/jira/browse/CXF-5889
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 3.0.0
> Environment: atmosphere-runtime 2.1.7
> Apache Tomcat/7.0.52
> Reporter: Joseph Leung
> Labels: atmosphere, jax-rs, websocket
>
> When using websocket jax-rs in container mode with atmoshpere,
> org.apache.cxf.transport.endpoint.address is not set in the request used to
> resolve jaxrs resource, which means it will not trucate the
> container path in the uri before comparing with @Path, and since
> WebSocketVirtualServletRequest will check if the request is within the orgin
> path, work aound by request uri is not possible.
> the request in the
> org.apache.cxf.transport.websocket.atmosphere.AtmosphereWebSocketHandler
> passed into
> org.apache.cxf.transport.websocket.atmosphere.AtmosphereWebSocketHandler.onMessage()
> did contains the attribute, but it is not copied to the request created in
> createServletRequest
> [INFO ]
> 09:50:44.315|http-bio-8080-exec-3|org.apache.cxf.interceptor.LoggingInInterceptor|
> Inbound Message
> ----------------------------
> ID: 8
> Address:
> http://127.0.0.1:8080/jaxrs-websocket/websocket/web/bookstore/bookbought
> Http-Method: GET
> Content-Type:
> Headers: {$method=[GET],
> $uri=[/jaxrs-websocket/websocket/web/bookstore/bookbought],
> Content-Type=[null]}
> --------------------------------------
> [DEBUG]
> 09:50:44.315|http-bio-8080-exec-3|org.apache.cxf.phase.PhaseInterceptorChain|
> Invoking handleMessage on interceptor
> org.apache.cxf.transport.https.CertConstraintsInterceptor@5e834b36
> [DEBUG]
> 09:50:44.315|http-bio-8080-exec-3|org.apache.cxf.phase.PhaseInterceptorChain|
> Invoking handleMessage on interceptor
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor@7a0522a5
> [INFO ]
> 09:50:44.315|http-bio-8080-exec-3|org.apache.cxf.transport.websocket.WebSocketVirtualServletRequest|
> getAttribute(org.apache.cxf.transport.endpoint.address)
> [DEBUG]
> 10:03:01.926|http-bio-8080-exec-3|org.apache.cxf.jaxrs.utils.JAXRSUtils|
> Trying to select a resource class, request path :
> /jaxrs-websocket/websocket/web/bookstore/bookbought
> [WARN ]
> 10:03:01.927|http-bio-8080-exec-3|org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor|
> No root resource matching request path
> /jaxrs-websocket/websocket/web/bookstore/bookbought has been found, Relative
> Path: /jaxrs-websocket/websocket/web/bookstore/bookbought. Please enable
> FINE/TRACE log level for more details.
> [WARN ]
> 10:03:01.927|http-bio-8080-exec-3|org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper|
> javax.ws.rs.NotFoundException: HTTP 404 Not Found
--
This message was sent by Atlassian JIRA
(v6.2#6252)