Rafał Kopka created CXF-8174:
--------------------------------
Summary: 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.3.0, 3.2.8
Reporter: Rafał Kopka
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)