You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/12/19 02:40:00 UTC
[jira] [Work logged] (CXF-8174) Incorrect service method resolution
[ https://issues.apache.org/jira/browse/CXF-8174?focusedWorklogId=361415&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-361415 ]
ASF GitHub Bot logged work on CXF-8174:
---------------------------------------
Author: ASF GitHub Bot
Created on: 19/Dec/19 02:39
Start Date: 19/Dec/19 02:39
Worklog Time Spent: 10m
Work Description: reta commented on pull request #616: CXF-8174: Incorrect service method resolution
URL: https://github.com/apache/cxf/pull/616
Indeed, there was a side effect introduced by https://issues.apache.org/jira/browse/CXF-7946 where the argument classes are compared. The minor enhancements over this logic is to try to detect relations between parameter types (if any) and descend from subtypes to parent types.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Issue Time Tracking
-------------------
Worklog Id: (was: 361415)
Remaining Estimate: 0h
Time Spent: 10m
> 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
> Time Spent: 10m
> 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)