[ https://issues.apache.org/jira/browse/CXF-8174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colm O hEigeartaigh closed CXF-8174. ------------------------------------ > Incorrect service method resolution > ----------------------------------- > > Key: CXF-8174 > URL: https://issues.apache.org/jira/browse/CXF-8174 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.2.8, 3.3.0 > Reporter: RafaĆ Kopka > Assignee: Andriy Redko > Priority: Major > Fix For: 3.4.0, 3.3.5, 3.2.12 > > Time Spent: 20m > Remaining Estimate: 0h > > Assume JAX-RS resource classes: > {code} > public interface TestService<REQ extends com.test.BaseRequest, RES extends > com.test.BaseResponse> { > RES process(REQ request); > } > {code} > {code} > public interface MyTestService extends > TestService<com.test.MyTestServiceRequest, com.test.MyTestServiceResponse> { > @Override > @POST > @Path("record") > @Valid > com.test.MyTestServiceResponse process(com.test.MyTestServiceRequest > request); > } > {code} > When we call MyTestService, CXF resolves method from TestService > {code} > com.test.BaseResponse process(com.test.BaseRequest request) > {code} > This causes Jackson deserialization error due to unknown properties sent in > {code} > com.test.MyTestServiceResponse > {code} > This occurs due to changes in OperationResourceInfoComparator (CXF-7946) > where parameter class names are compared. > Explicit package in the sample is due to the fact that there is an easy > workaround - remove all extends from parent interface. This won't work if > your package is anything after java.lang -- This message was sent by Atlassian Jira (v8.3.4#803005)