Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-6856

Issue with Camel Spring-WS Component

    XMLWordPrintable

Details

    • % %
    • Hide

      I have attached a sample reproducer SpringWS.

      Install the feature camel-spring-ws in Fuse 6.3 and just deploy the bundle

      Show
      I have attached a sample reproducer SpringWS. Install the feature camel-spring-ws in Fuse 6.3 and just deploy the bundle

    Description

      Facing issues while using "spring-ws" to call SOAP webservices, while deploying my bundle in Fuse 6.3, the following errors occured:

      java.lang.NoClassDefFoundError: org/springframework/beans/factory/InitializingBean

      java.lang.NoClassDefFoundError: org/springframework/ws/client/core/WebServiceTemplate

      java.lang.NoClassDefFoundError: org/springframework/core/NestedRuntimeException

      I had installed the feature camel-spring-ws which installs : Apache ServiceMix :: Bundles :: spring-ws-core

      Upon further investigating the error, I could see the class WebServiceTemplate is being used by the spring-ws-core bundle, which in-turn imports the package org.springframework.core;resolution:=optional;version="[4,5)".

      Here the package version expected by the spring-ws-core bundle does not match the one being exported by spring-core bundle which comes with Fuse Installation.

      Spring-core bundle exports org.springframework.core;version=3.2.16.RELEASE,

      Hence, causing the NoClassDefFoundError for these classes.

      So, I tried changing all the export versions from [4,5) to [3.5) in the Manifest file of the spring-ws-core bundle, those errors got resolved but then I came across a new error

      Invocation of init method failed; nested exception is org.springframework.ws.soap.SoapMessageCreationException: Could not create SAAJ MessageFactory: Provider org.apache.axis2.saaj.SAAJMetaFactoryImpl not found; nested exception is javax.xml.soap.SOAPException: Provider org.apache.axis2.saaj.SAAJMetaFactoryImpl not found

      For this, I had to explicitly install the axis2-saaj-1.5.5.jar in my karaf to make this work.

      So, there are two issues here:

      • The version mismatch for spring libraries
      • The Sun's saaj jar being explicitly required

      Attachments

        Issue Links

          Activity

            People

              rhn-support-tasato Tadayoshi Sato
              rhn-support-pchhabra Pulkit Chhabra (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: