[
https://issues.apache.org/jira/browse/CXF-5284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Schneider updated CXF-5284:
-------------------------------------
Fix Version/s: (was: 2.7.8)
2.7.7
> CXF clients do not work in Eclipse RCP: Exception says BindingProvider
> interface not visible
> --------------------------------------------------------------------------------------------
>
> Key: CXF-5284
> URL: https://issues.apache.org/jira/browse/CXF-5284
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.7.7
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Fix For: 2.7.7, 3.0.0
>
>
> When using CXF in Eclipse RCP there is there is a problem with CXF clients.
> When CXF creates the proxy using the ProxyHelper class it fails with the
> message that BindingProvider interface is not visible.
> In fact the BindingProvider interface is visible but the class created in
> ProxyHelper is not the same as the class BindingProvider.class given to the
> ProxyHelper.
> I was not able to reproduce the error outside of Eclipse RCP. I also tested
> with an extended DOSGi distro on pure Equinox without karaf. There like in
> Karaf the error did not happen.
> We made sure that the package javax.xml.ws is only exported once and that it
> is the version from servicemix bundles.
> When the error happens it seems that the incorrect BindingProvider.class is
> loaded by classloader null (the bootstrap classloader). So it seems on RCP
> the BindingProvider interface is also coming from the bootstrap classloader
> under these circumstances ... no idea why.
> In any case until recently we were able to work around the issue by importing
> the package javax.xml.ws in the bundle containing the service interface. This
> made sure that the classloader of this bundle was able to see the class and
> could be used on its own.
> Without the import the package was not visible to the bundle classloader of
> the user bundle and a proxy class loader was used and the problem occured.
> So I see two things we can do:
> 1. Undo the change to move BindingProvider.class to the front of the
> interfaces in the call to ProxyHelper. This does not fully solve the problem
> but will enable the workaround again.
> 2. Find the root problem which might be in equinox or even in the rcp code.
> In general it would also be great if we could avoid to create a proxy with
> interfaces that are invisible to the bundle but I am not sure if this can be
> done at all.
--
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