[ https://issues.apache.org/jira/browse/CXF-9114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sola-ris updated CXF-9114: -------------------------- Description: Calling ClientRequestContext#getConfiguration inside of a Filter when using the MicroProfile RestClient always return null, making it impossible to access properties set on the RestClientBuilder inside ClientRequest/ResponseFilters. *To reproduce:* {code:java} @Path("") public interface GreetingClient { @GET Response greet(); } public static class Filter implements ClientRequestFilter { @Override public void filter(ClientRequestContext requestContext) { System.out.println(requestContext.getConfiguration().getProperty("foo")); } } RestClientBuilder.newBuilder() .baseUri(URI.create("http://localhost:8080")) .property("foo", "bar") .register(Filter.class) .build(GreetingClient.class) .greet(); {code} *Stacktrace:* {noformat} jakarta.ws.rs.ProcessingException: java.lang.NullPointerException: Cannot invoke "jakarta.ws.rs.core.Configuration.getProperty(String)" because the return value of "jakarta.ws.rs.client.ClientRequestContext.getConfiguration()" is null at org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:645) at org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:619) at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedvocation(ClientProxyImpl.java:926) at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:347) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invokeActual(MicroProfileClientProxyImpl.java:496) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl$Invoker.call(MicroProfileClientProxyImpl.java:515) at org.apache.cxf.microprofile.client.cdi.CDIInterceptorWrapper$BasicCDIInterceptorWrapper.invoke(CDIInterceptorWrapper.java:43) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invoke(MicroProfileClientProxyImpl.java:492) at jdk.proxy2/jdk.proxy2.$Proxy21.greet(Unknown Source) at org.example.MpRestClientConfigurationReproducerTest.testAccessConfigurationInFilter(MpRestClientConfigurationReproducerTest.java:24) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: java.lang.NullPointerException: Cannot invoke "jakarta.ws.rs.core.Configuration.getProperty(String)" because the return value of "jakarta.ws.rs.client.ClientRequestContext.getConfiguration()" is null at org.example.MpRestClientConfigurationReproducerTest$Filter.filter(MpRestClientConfigurationReproducerTest.java:38) at org.apache.cxf.jaxrs.client.spec.ClientRequestFilterInterceptor.handleMessage(ClientRequestFilterInterceptor.java:70) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:717) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.doRunInterceptorChain(MicroProfileClientProxyImpl.java:184) at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedvocation(ClientProxyImpl.java:924) ... 10 more {noformat} [Executable reprodcucer|https://github.com/Sola-ris/cxf-reproducers] was: Calling ClientRequestContext#getConfiguration inside of a Filter when using the MicroProfile RestClient always return null, making it impossible to access properties set on the RestClientBuilder inside ClientRequest/ResponseFilters. *To reproduce:* {code:java} @Path("") public interface GreetingClient { @GET Response greet(); } public static class Filter implements ClientRequestFilter { @Override public void filter(ClientRequestContext requestContext) { System.out.println(requestContext.getConfiguration().getProperty("foo")); } } RestClientBuilder.newBuilder() .baseUri(URI.create("http://localhost:8080")) .property("foo", "bar") .register(Filter.class) .build(GreetingClient.class) .greet(); {code} *Stacktrace:* {noformat} jakarta.ws.rs.ProcessingException: java.lang.NullPointerException: Cannot invoke "jakarta.ws.rs.core.Configuration.getProperty(String)" because the return value of "jakarta.ws.rs.client.ClientRequestContext.getConfiguration()" is null at org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:645) at org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:619) at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:926) at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:347) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invokeActual(MicroProfileClientProxyImpl.java:496) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl$Invoker.call(MicroProfileClientProxyImpl.java:515) at org.apache.cxf.microprofile.client.cdi.CDIInterceptorWrapper$BasicCDIInterceptorWrapper.invoke(CDIInterceptorWrapper.java:43) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invoke(MicroProfileClientProxyImpl.java:492) at jdk.proxy2/jdk.proxy2.$Proxy21.greet(Unknown Source) at org.example.MpRestClientConfigurationReproducerTest.testAccessConfigurationInFilter(MpRestClientConfigurationReproducerTest.java:24) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: java.lang.NullPointerException: Cannot invoke "jakarta.ws.rs.core.Configuration.getProperty(String)" because the return value of "jakarta.ws.rs.client.ClientRequestContext.getConfiguration()" is null at org.example.MpRestClientConfigurationReproducerTest$Filter.filter(MpRestClientConfigurationReproducerTest.java:38) at org.apache.cxf.jaxrs.client.spec.ClientRequestFilterInterceptor.handleMessage(ClientRequestFilterInterceptor.java:70) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:717) at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.doRunInterceptorChain(MicroProfileClientProxyImpl.java:184) at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:924) ... 10 more {noformat} [Executable reprodcucer|https://github.com/Sola-ris/cxf-reproducers] > ClientRequestContext#getConfiguration always return null in the MicroProfile > RestClient > --------------------------------------------------------------------------------------- > > Key: CXF-9114 > URL: https://issues.apache.org/jira/browse/CXF-9114 > Project: CXF > Issue Type: Bug > Components: JAX-RS, MicroProfile > Affects Versions: 4.1.0 > Reporter: Sola-ris > Priority: Major > > Calling ClientRequestContext#getConfiguration inside of a Filter when using > the MicroProfile RestClient always return null, making it impossible to > access properties set on the RestClientBuilder inside > ClientRequest/ResponseFilters. > *To reproduce:* > {code:java} > @Path("") > public interface GreetingClient { > @GET > Response greet(); > } > public static class Filter implements ClientRequestFilter { > @Override > public void filter(ClientRequestContext requestContext) { > > System.out.println(requestContext.getConfiguration().getProperty("foo")); > } > } > RestClientBuilder.newBuilder() > .baseUri(URI.create("http://localhost:8080")) > .property("foo", "bar") > .register(Filter.class) > .build(GreetingClient.class) > .greet(); > {code} > > *Stacktrace:* > {noformat} > jakarta.ws.rs.ProcessingException: java.lang.NullPointerException: Cannot > invoke "jakarta.ws.rs.core.Configuration.getProperty(String)" because the > return value of > "jakarta.ws.rs.client.ClientRequestContext.getConfiguration()" is null > at > org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:645) > at > org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:619) > at > org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedvocation(ClientProxyImpl.java:926) > at > org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:347) > at > org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invokeActual(MicroProfileClientProxyImpl.java:496) > at > org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl$Invoker.call(MicroProfileClientProxyImpl.java:515) > at > org.apache.cxf.microprofile.client.cdi.CDIInterceptorWrapper$BasicCDIInterceptorWrapper.invoke(CDIInterceptorWrapper.java:43) > at > org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invoke(MicroProfileClientProxyImpl.java:492) > at jdk.proxy2/jdk.proxy2.$Proxy21.greet(Unknown Source) > at > org.example.MpRestClientConfigurationReproducerTest.testAccessConfigurationInFilter(MpRestClientConfigurationReproducerTest.java:24) > at java.base/java.lang.reflect.Method.invoke(Method.java:580) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) > Caused by: java.lang.NullPointerException: Cannot invoke > "jakarta.ws.rs.core.Configuration.getProperty(String)" because the return > value of "jakarta.ws.rs.client.ClientRequestContext.getConfiguration()" is > null > at > org.example.MpRestClientConfigurationReproducerTest$Filter.filter(MpRestClientConfigurationReproducerTest.java:38) > at > org.apache.cxf.jaxrs.client.spec.ClientRequestFilterInterceptor.handleMessage(ClientRequestFilterInterceptor.java:70) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) > at > org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:717) > at > org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.doRunInterceptorChain(MicroProfileClientProxyImpl.java:184) > at > org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedvocation(ClientProxyImpl.java:924) > ... 10 more > {noformat} > [Executable reprodcucer|https://github.com/Sola-ris/cxf-reproducers] -- This message was sent by Atlassian Jira (v8.20.10#820010)