CXF client fails to load WSS4J PasswordCallbackHandler despite it being present in the OSGi bundle
Issue
We have a JAX-WS client application running inside JBoss Fuse 6.2.1 that is configured to use WS-Security.
Its important to note that this JAX-WS client is instantiated and configured programmatically, not using Spring or Blueprint.
When the WS-Security layer (WSS4J) initializes, it fails to load the configured PasswordCallbackHandler class and raises the following error despite the class existing inside the same OSGi bundle.
12:11:02,228 | WARN | ExtenderThread-6 | Loader | 366 - org.apache.wss4j.wss4j-ws-security-common - 2.0.3 |
com.mycompany.PasswordCallbackHandler not found from bundle [bundleB]
java.lang.ClassNotFoundException: com.mycompany.PasswordCallbackHandler not found from bundle [bundleA]
Full error with stack trace shown in Diagnostics section.
What's worth noticing is the fact that the ClassNotFoundException refers to bundleA whereas the JAX-WS client code is actually executed in a different bundleB.
There is another bundleA deployed in our Karaf container that also uses CXF.
Environment
- JBoss Fuse
- 6.2.1
- 6.2.1 R3
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.