You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2016/02/22 13:48:18 UTC

[jira] [Comment Edited] (CXF-6793) InvocationCallback doesn't try to get response class type

    [ https://issues.apache.org/jira/browse/CXF-6793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15156835#comment-15156835 ] 

Romain Manni-Bucau edited comment on CXF-6793 at 2/22/16 12:48 PM:
-------------------------------------------------------------------

[~sergey_beryozkin] simple async post call with as callback: new JaxRsPromise().toJaxRsCallback() (see the gist). Depending the method the type variable is resolvable or not by cxf but it should pass at least Object.class to message body writers and not null IMO.

edit: https://gist.github.com/rmannibucau/b8be7a3904294c23b612 shows it in a main


was (Author: romain.manni-bucau):
[~sergey_beryozkin] simple async post call with as callback: new JaxRsPromise().toJaxRsCallback() (see the gist). Depending the method the type variable is resolvable or not by cxf but it should pass at least Object.class to message body writers and not null IMO.

> InvocationCallback doesn't try to get response class type
> ---------------------------------------------------------
>
>                 Key: CXF-6793
>                 URL: https://issues.apache.org/jira/browse/CXF-6793
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.1.5
>            Reporter: Romain Manni-Bucau
>
> in org.apache.cxf.jaxrs.client.WebClient#doInvokeAsyncCallback the webclient could try to find the response class if not there.
> would avoid to give a null type the providers can't use to do what they need to
> Code can be if respClass is null and callback is not null something like:
> {code}
> // in real code filter interfaces and dont access them directly by index
> ParameterizedType.class.cast(callback.getClass().getGenericInterfaces()[0]).getActualTypeArguments()[0]
> {code}
> edit: digging a bit seems org.apache.cxf.jaxrs.utils.InjectionUtils#getSuperType just doesn't default to anything and in case of TypeVariable unbounded is not able to default to Object so if bound is really Object it fails
> if it helps here is the code I use: https://gist.github.com/rmannibucau/09a084c28d8b61c232cf - of course would like to make the class geenric (<T>) and remove this String typing ;)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)