Joseph Leung created CXF-5889:
---------------------------------

             Summary: 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


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)

Reply via email to