0 Replies Latest reply on Jan 17, 2017 10:13 AM by Scott Cornell

    SAAJ class intermittently not found in container running saaj-impl bundle

    Scott Cornell Newbie

      I have a fabric child container running some code that calls a SOAP service.  The service returns SOAP faults under certain unavoidable circumstances, as such my route needs to be able to capture the fault, examine it, and in most cases continue with different processing depending on the type of fault thrown.  Route works fine in unit testing using CamelBlueprintTestSupport, happily catching and consuming the faults thrown by the SOAP service.  But when deployed to a running ESB, the route sometimes throws a ClassNotFound exception when attempting to render the fault as a com.sun.xml.messaging.saaj.soap.ver1_1.Fault1_1Impl.  I've explicitly added the OOB saaj feature to my profile's feature list and confirmed via the container OSGi tab that the Apache ServiceMix :: Bundles :: saaj-impl bundle is running on the container and that that bundle exposes the package com.sun.xml.messaging.saaj.soap.ver1_1.  As I mention, the problem seems intermittent - I've deployed the exact same profile/bundle to different ESB instances and different containers and sometimes it works, sometimes it doesn't.  On those containers where things don't work, when I attempt to verify that the bundle can actually provide the class to the route by using the Load Class feature on the console, I get the message "The hawtio.OSGiTools MBean is not available. Please contact technical support."  So *something* appears to be making the class unreachable under certain circumstances.  Any ideas as to what that *something* might be?