The unit tests also run with some --add-opens, which also make the exception 
message work.
Maybe these options could be noted in the changelog or migration guide

Regards


On Wed, Apr 5, 2023, at 14:57, Andriy Redko wrote:
> Hi Colm,
>
> We sadly still have quite a few places where reflection is used. That's 
> probably 
> one of those. There is an ongoing effort to clean up [1] all such 
> occurrences but 
> it takes time (and the issues go way beyond just CXF). In general, if 
> there is an
> alternative way to implement the same functionality (without reflection 
> being used),
> we should do that (JIRA ticket is welcomed), but if not - we degrade it 
> (like in 
> the case presented, no message since we cannot extract it). 
> 
>> Are there any other known issues with java 17?
>
> Yes, see please [2] for example.
> 
> [1] https://issues.apache.org/jira/browse/CXF-8407
> [2] https://issues.apache.org/jira/browse/CXF-8173
> 
> Thanks!
>
> Best Regards,
>     Andriy Redko
>
>> Hi,
>
>> Did anyone look into this - is it already fixed? If not we should have
>> a JIRA at least to investigate.
>
>> Colm.
>
>> On Tue, Feb 7, 2023 at 1:08 PM Thomas Matthijs <li...@selckin.be> wrote:
>>> Hello,
>>> There is a difference in behavior between java 11 and java 17. When you 
>>> throw and exception from a service, the message is lost.
>>> I modified one of the example projects to throw an exception:
>>> https://github.com/selckin/cxf-exception/blob/master/src/main/java/demo/hw/server/HelloWorldImpl.java#L50
>>> With java 11 on the client you will get:
>>> demo.hw.server.AccessDeniedException: foobar123
>>>         at 
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>  Method)
>>> On java 17, the message "foobar123" is missing
>>> demo.hw.server.AccessDeniedException
>>>         at 
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>  Method)
>>> Believe this is because the message of the exception is retrieved using 
>>> reflection that is not allowed on java 17:
>>> https://github.com/apache/cxf/blob/b6e3ab83a37cfb777d6eebf9711e552027bde37a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java#L197
>>> This code is still there even in 4.0.0 which claims to support java 17.
>>> Is this a known issue or should I report it as a bug? Or is it accepted 
>>> that it won't work under java 17+ ?
>>> Are there any other known issues with java 17?
>>> Thanks

Reply via email to