[ 
https://issues.apache.org/jira/browse/TOMEE-4643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Markus Jung reassigned TOMEE-4643:
----------------------------------

    Assignee: Markus Jung

> REST 3.1: no META-INF/services discovery for Feature/DynamicFeature; 
> superclass @Path returns 405 not 404
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: TOMEE-4643
>                 URL: https://issues.apache.org/jira/browse/TOMEE-4643
>             Project: TomEE
>          Issue Type: Bug
>            Reporter: Markus Jung
>            Assignee: Markus Jung
>            Priority: Major
>
> TomEE does not scan {{META-INF/services}} for {{Feature}} and 
> {{DynamicFeature}} implementations. The REST 3.1 spec asks the runtime to 
> pick these up through the standard Java {{ServiceLoader}} mechanism at deploy 
> time. Because TomEE (through CXF) skips this step, a {{Feature}} or 
> {{DynamicFeature}} packaged this way never registers, and any behavior it 
> should add to the request or response pipeline never runs.
> Related upstream tracking: CXF-9005.
> Second, when a request path matches a method only declared on a superclass 
> through {{@Path}}, and not on the subclass that serves the resource, TomEE 
> answers with HTTP 405 (Method Not Allowed). The spec requires 404 (Not Found) 
> in this case, since the subclass does not expose a matching resource method 
> at that path. TomEE's path-matching logic treats the superclass mapping as 
> present but the method as wrong, when it should treat the path itself as 
> absent for the subclass.
> Both gaps sit in TomEE's JAX-RS/CXF integration, not in the TCK or the test 
> harness.
> Related to TOMEE-4321, the open umbrella ticket for JAX-RS TCK failures — 
> this issue reports two specific, well-defined gaps under that umbrella.
> h2. Steps to reproduce / TCK reference
> Suite: Jakarta RESTful Web Services 4.0 TCK 
> ({{jakarta.ws.rs:jakarta-restful-ws-tck:4.0.1}}).
> Feature/DynamicFeature discovery:
> * 
> {{ee/jakarta/tck/ws/rs/jaxrs31/spec/extensions/JAXRSClientIT.java#featureIsRegisteredTest}}
> * 
> {{ee/jakarta/tck/ws/rs/jaxrs31/spec/extensions/JAXRSClientIT.java#dynamicFeatureIsRegisteredTest}}
> Superclass {{@Path}} matching (405 vs 404):
> * 
> {{ee/jakarta/tck/ws/rs/spec/resource/annotationprecedence/subclass/JAXRSClientIT.java#incorrectPathOnClassTest}}
> All three are excluded in {{runner-standalone/exclusions/rest.txt}} in the 
> apache/tomee-tck harness repo. Remove the matching lines once fixed, and the 
> suite should pass those tests without the exclusion.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to