This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch tomee-10.x
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit a06afc1c047a1fe0e9e9fcb4a08f8f529fac8523
Author: Richard Zowalla <[email protected]>
AuthorDate: Fri Sep 11 19:19:23 2026 +0200

    Revert "Unwrap InternalApplication before passing to CXF"
    
    This reverts commit 078a4d2f120c83e7b358ce22376b7ac894a33bbb.
    
    It breaks JAX-RS deployments (404s across the jaxrs Arquillian tests,
    MP-JWT/Telemetry TCKs, tomee-embedded). The follow-up fix on main
    (f2406998e7) relies on ApplicationInfo#getApplicationPath from CXF 4.2,
    which is not available with CXF 4.1.x on 10.x. The change only serves
    UriInfo#getMatchedResourceTemplate (JAX-RS 4.0), so it is not needed here.
---
 .../org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java    | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git 
a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 
b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
index 861f5b0f83..b0e82b19da 100644
--- 
a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
+++ 
b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
@@ -733,16 +733,8 @@ public class CxfRsHttpListener implements RsHttpListener {
              *
              * Global binding annotations are tested in:
              * 
com/sun/ts/tests/jaxrs/spec/filter/globalbinding/JAXRSClient#globalBoundResourceTest_from_standalone
-             *
-             * We unwrap any InternalApplication wrapper so CXF inspects the 
user's real
-             * Application subclass.  Without this, the @ApplicationPath 
annotation on the
-             * user's class is invisible to CXF, and 
UriInfoImpl#getMatchedResourceTemplate
-             * omits the application path prefix from the returned template.
              */
-            final Application appForFactory = application instanceof 
InternalApplication wrapper && wrapper.getOriginal() != null
-                    ? wrapper.getOriginal()
-                    : application;
-            factory.setApplication(appForFactory);
+            factory.setApplication(application);
 
             this.context = webContext;
             if (!webContext.startsWith("/")) {

Reply via email to