Dear all, I am trying to deploy a bundle that uses camel-spring-ws. I am stuck with what appears to be classloader issues. The feature descriptor looks like this:
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.1" name="ams-feature"> <feature name="pas-webservice-hp" version="3.0.0-SNAPSHOT" description="PAS Webservice for HPs"> <feature version="2.14.0">camel-core</feature> <feature version="2.14.0">camel-spring</feature> <feature version="2.14.0">camel-blueprint</feature> <feature version="2.14.0">camel-spring-ws</feature> <bundle dependency="true">mvn:ch.vivates.ams/base/3.0.0-SNAPSHOT</bundle> <bundle>mvn:ch.vivates.ams/pas-webservice-hp/3.0.0-SNAPSHOT</bundle> </feature> </features> When using blueprint the bundle "pas-webservice-hp" does not start because it lacks a namespace handler for the Spring web-service namespace. The last thing in the logs when trying to deploy the feature is: waiting for namespace handlers [http://www.springframework.org/schema/web-services] When using the Spring deployer I run into ClassNotFoundException for SimpleWsdl11Definition. The class is in spring-ws-core. The corresponding bundle has been deployed as part of the feature dependencies as far as I can see. Caused by: java.lang.ClassNotFoundException: org.springframework.ws.wsdl.wsdl11.SimpleWsdl11Definition not found by ch.vivates.ams.pas-webservice-hp [119] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:] at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_60] at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:] at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:] at org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99)[82:org.springframework.osgi.core:1.2.1] ... 17 more karaf@root()> bundle:list -l START LEVEL 100 , List Threshold: 50 ID | State | Lvl | Version | Location --------------------------------------------------------------------------------------------------------------------- ... 115 | Active | 50 | 2.1.4.RELEASE | mvn:org.springframework.ws/spring-ws-core/2.1.4.RELEASE, Fragments: 116 116 | Resolved | 50 | 2.1.4.RELEASE | mvn:org.springframework.ws/spring-ws-support/2.1.4.RELEASE, Hosts: 115 ... I get a tiny step further by embedding spring-ws-core into my own bundle. I know this is not a proper solution; just to see whether it was a quick way to solve the issue. However, this just leads to more issues: Caused by: javax.xml.soap.SOAPException: Unable to create MessageFactory: Provider for javax.xml.soap.MessageFactory cannot be found at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:90)[:2.4.0] at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.afterPropertiesSet(SaajSoapMessageFactory.java:147)[119:ch.vivates.ams.pas-webservice-hp:3.0.0.SNAPSHOT] Spring tries to load "javax.xml.soap.SAAJMetaFactory" by name. If run stand-alone outside of Karaf, then Spring finds the saaj classes in the rt.jar. I added an explicit package import "javax.xml.soap" to the manifest. No change. The jre.properties includes a line javax.xml.soap;version="1.3" for my JRE version. So I thought that my bundle should be able to find the classes? Ultimately I will need to deploy with blueprint. Unless there is also a way to deploy a spring context and still be able to do property replacement with properties defined in a cfg file in $KARAF_HOME/etc? Any help is greatly appreciated! Ralf -- View this message in context: http://apache-felix.18485.x6.nabble.com/Bundle-using-camel-spring-ws-does-not-start-missing-namespace-handler-tp5010351.html Sent from the Apache Felix - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org