[CXF-8578] Bind bridge methods to operations#836
[CXF-8578] Bind bridge methods to operations#836octachoron wants to merge 1 commit intoapache:masterfrom
Conversation
For each real method bound to an operation, add the corresponding bridge methods of the class as secondary bindings. This gives them a method-to-operation mapping each, enabling them to be used in client proxies. On the other hand, only the real method gets an operation-to-method mapping, which avoids re-introducing CXF-7670.
| Connect2id Ltd. | ||
|
|
||
| Portions of this software were developed at | ||
| Cloudera, Inc (https://www.cloudera.com/). |
There was a problem hiding this comment.
First of all, thanks so much for the contribution!
But I'm totally not sure if we should/can add this into NOTICE. Let's wait other comments from the community.
There was a problem hiding this comment.
I'm unsure (and curious) about this part as well. Thank you very much for pointing this out!
|
@octachoron thanks a lot for the issue and the pull request. First of all, I would like to agree with you that handling of the bridge / synthetic methods could be improved (especially, when using client proxies) but I would like to suggest a bit different fix here: #842. The main idea is to complement the operation with additional binding details while evaluating resource class. Certain optimizations (like skipping the methods returning Your feedback would be appreciated, the edge cases you have demonstrated in the ticket are passing now, thank you. |
|
@reta #842 does sound like a better and more straightforward way to do this, both in terms of obtaining and binding the bridge methods, and testing through an actual client proxy. I also tested the approach against the code where we originally saw the symptoms, and it runs without issues. I will go ahead and close this PR in favor of yours. Thank you very much for the review and suggestion. |
For each real method bound to an operation, add the corresponding bridge
methods of the class as secondary bindings. This gives them a
method-to-operation mapping each, enabling them to be used in client
proxies. On the other hand, only the real method gets an
operation-to-method mapping, which avoids re-introducing CXF-7670.