[
https://issues.apache.org/jira/browse/CXF-5228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13749960#comment-13749960
]
Sergey Beryozkin commented on CXF-5228:
---------------------------------------
Hi Christian, the only thing that I'd like to discuss is how to deal with
moving ProxyClassLoader to a new location when merging back to 2.7.x. I
remember talking to at least 2 users about the use of ProxyClassLoader (in
OSGI) so one option, for 2.7.x, is duplicate ProxyClassLoader, with only
3.0.0-SNAPSHOT keeping a single ProxyClassLoader in common util
> Rest client reports interface not visible for service interface
> ---------------------------------------------------------------
>
> Key: CXF-5228
> URL: https://issues.apache.org/jira/browse/CXF-5228
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.7.6
> Environment: OSGi
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Fix For: 3.0.0, 2.7.7
>
>
> When using a rest client in blueprint in OSGi I get the following stacktrace:
> Caused by: java.lang.IllegalArgumentException: interface
> net.lr.tutorial.karaf.cxf.personservice.person.PersonService is not visible
> from class loader
> See this for the full trace:
> https://gist.github.com/cschneider/6156833
> I debugged into it and found that the true execption is hidden.
> It happens in
> org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWithValues(Object...)
> There is first tries to create the proxy using the classloader of the service
> interface.
> This fails as in the user classloader there is only the service interface but
> the proxy is also create for the cxf Client interface. So it fails when
> resolving cxf Client.
> This exception is swallowed and the context classloader is used to create the
> proxy. This classloader is not set so it reports the user service interface
> is not visible. This is not the root of the problem though.
> I fixed this by using a ProxyClassloader that contains the user classloader
> and the classloader of the JAXRSClientFactoryBean. So it then finds user
> classes as well as cxf classes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira