You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2014/07/18 17:39:04 UTC

[jira] [Commented] (CXF-5889) No root resource matching request when using atmosphere websocket

    [ 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)