Fuse 6.2.0 P1 with WS-Security and SAML does not work because of ClassNotFoundException
Issue
When using openSAML, the following error is occurred.
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.protocol.ProtocolSocketFactory not found by org.apache.servicemix.bundles.opensaml [279]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)[org.apache.felix.framework-4.4.1.jar:]
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)[org.apache.felix.framework-4.4.1.jar:]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)[org.apache.felix.framework-4.4.1.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_91]
... 31 more
After investigation, I found org.apache.servicemix.bundles.opensaml has optional imports org.apache.commons.httpclient.protocol version=[4,5], which is not resolved on Fuse 6.2.0 p1.
On Fuse 6.2.0 p1, there is only org.apache.commons.httpclient.protocol Version: 3.1.0 provided by org.apache.servicemix.bundles.commons-httpclient is available. That causes ClassNotFoundException.
Environment
- Red Hat JBoss Fuse
- 6.2.0 p1
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.