You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by brijesh <br...@gmail.com> on 2009/06/10 12:45:32 UTC

smx war deployment in weblogic 10

hello , 

I did servicemix3.3.war deployment  in weblogic 10 as part of an other ear
file. I have service assembly which uses smx-scripting component as part of
workflow. When i am calling this service I am getting following fault
mesage, 


<faultcode>soap:Server</faultcode>
         <faultstring>java.lang.NoClassDefFoundError:
groovy/lang/GroovyObject</faultstring>


When I deploy as war file , without using ear file this service assembly
works absoulutely fine. When I deploy war file as part of ear file i am
getting above mentioned error , complete error stack as below 


org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
groovy/lang/GroovyObject
        at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
        at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
groovy/lang/GroovyObject
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
        at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at
weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
        at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
        at
weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at
weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
        at
org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at
groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
        at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
        at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
        at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
        at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
        at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
        at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
        at
org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
        at
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
        at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
        at Script1.run(Script1.groovy:24)
        at
com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
        at
com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
        at javax.script.CompiledScript.eval(CompiledScript.java:44)
        at
org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
        ... 8 more


Any idea on this? 

Regards
Brijesh N K
-- 
View this message in context: http://www.nabble.com/smx-war-deployment-in-weblogic-10-tp23959703p23959703.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx war deployment in weblogic 10

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Sure,

feel free to create a jira. We will take a look on it.

Regards
JB

brijesh wrote:
> JB, 
> 
> okay, 
> I have no issues with other components only smx-scripting component gives
> this issue. 
> Don't know where its going wrong?. can i create a JIRA for this? . 
> 
> Regards, 
> Brijesh N K
> 
> 
> Jean-Baptiste Onofré wrote:
>> Sorry, not yet.
>> I would like to make a test on weblogic with the war embedded into an 
>> ear to test the classloader structure.
>>
>> Regards
>> JB
>>
>> brijesh wrote:
>>> JB, 
>>>
>>> Any comments on this 
>>>
>>> regards
>>> Brijesh N K
>>>
>>>
>>>
>>> brijesh wrote:
>>>> JB, 
>>>>
>>>> Thanks for the response and valuable comment.  
>>>> As far as my understanding, servicemix war file allways create a runtime
>>>> data, servicemixDB folder in root directory(in weblogic domain
>>>> directory).
>>>> All the installed components and associated jars , service assemblies
>>>> associated jars would reside in data directory. I have explored the data
>>>> directory and extracted and saw the classes are avaiable in this
>>>> directory. 
>>>>
>>>> But i am confused how to specify to weblogic classloader to pick the
>>>> class
>>>> from above mentioned  data directory created by servicemix more over
>>>> this
>>>> directory conaints dynamic data it will be determined on runtime. I have
>>>> issues only with scripting component, other SEs ,and BCs are perfectly
>>>> working, 
>>>>
>>>> Please help me on this 
>>>>
>>>> Regards
>>>> Brijesh N K   
>>>>
>>>>
>>>>
>>>> Jean-Baptiste Onofré wrote:
>>>>> Hi Brijesh,
>>>>>
>>>>> I think the issue is due to the WLS classloader policy.
>>>>>
>>>>> WebLogic Server classloading is centered on the concept of an 
>>>>> application. An application is normally packaged in an Enterprise 
>>>>> Archive (EAR) file containing application classes. Everything within an 
>>>>> EAR file is considered part of the same application. The following may 
>>>>> be part of an EAR or can be loaded as standalone applications:
>>>>>
>>>>>      * An Enterprise JavaBean (EJB) JAR file
>>>>>      * A Web application WAR file
>>>>>      * A resource adapter RAR file
>>>>>
>>>>> The classloader hierarchy is, by default:
>>>>> WebApp -> EJB -> WLS main classloader.
>>>>>
>>>>> Remember that one time you go up in the classloader hierarchy, it's not 
>>>>> possible to come back down.
>>>>>
>>>>> Nevertheless, you can define your classloader structure in the 
>>>>> weblogic-application.xml using:
>>>>>
>>>>>      <classloader-structure>
>>>>>      	<module-ref>
>>>>>      		<module-uri>ejb1.jar</module-uri>
>>>>>      	</module-ref>
>>>>>      	<module-ref>
>>>>>      		<module-uri>web3.war</module-uri>
>>>>>      	</module-ref>
>>>>>      	<classloader-structure>
>>>>>      		<module-ref>
>>>>>      			<module-uri>web1.war</module-uri>
>>>>>      		</module-ref>
>>>>>      	</classloader-structure>
>>>>>      	<classloader-structure>
>>>>>      		<module-ref>
>>>>>      			<module-uri>ejb3.jar</module-uri>
>>>>>      		</module-ref>
>>>>>      		<module-ref>
>>>>>      			<module-uri>web2.war</module-uri>
>>>>>      		</module-ref>
>>>>>      		<classloader-structure>
>>>>>      			<module-ref>
>>>>>      				<module-uri>web4.war</module-uri>
>>>>>      			</module-ref>
>>>>>      		</classloader-structure>
>>>>>      		<classloader-structure>
>>>>>      			<module-ref>
>>>>>      				<module-uri>ejb2.jar</module-uri>
>>>>>      			</module-ref>
>>>>>      		</classloader-structure>
>>>>>      	</classloader-structure>
>>>>>      </classloader-structure>
>>>>>
>>>>> In your case, your don't have a ClassNotFoundException, you have a 
>>>>> NoClassDefFoundError. It means that the class is found but not in the 
>>>>> correct classloader.
>>>>>
>>>>> Could you make a try using a global classloader for your EAR (not 
>>>>> splitted by war/ejb) ?
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>> brijesh wrote:
>>>>>> hello , 
>>>>>>
>>>>>> I did servicemix3.3.war deployment  in weblogic 10 as part of an other
>>>>>> ear
>>>>>> file. I have service assembly which uses smx-scripting component as
>>>>>> part
>>>>>> of
>>>>>> workflow. When i am calling this service I am getting following fault
>>>>>> mesage, 
>>>>>>
>>>>>>
>>>>>> <faultcode>soap:Server</faultcode>
>>>>>>          <faultstring>java.lang.NoClassDefFoundError:
>>>>>> groovy/lang/GroovyObject</faultstring>
>>>>>>
>>>>>>
>>>>>> When I deploy as war file , without using ear file this service
>>>>>> assembly
>>>>>> works absoulutely fine. When I deploy war file as part of ear file i
>>>>>> am
>>>>>> getting above mentioned error , complete error stack as below 
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
>>>>>> groovy/lang/GroovyObject
>>>>>>         at
>>>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
>>>>>>         at
>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>>>>         at
>>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>>>>>>         at
>>>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>>>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>>>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>>>>>>         at
>>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>>>>         at
>>>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>>>>>> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
>>>>>> groovy/lang/GroovyObject
>>>>>>         at
>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
>>>>>>         at
>>>>>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>>         at
>>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>>         at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>>>         at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>>> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
>>>>>>         at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>>>>>         at
>>>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>>>>>>         at
>>>>>> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
>>>>>>         at
>>>>>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
>>>>>>         at
>>>>>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
>>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>>         at
>>>>>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
>>>>>>         at
>>>>>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
>>>>>>         at
>>>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>>         at
>>>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>>         at
>>>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>>>>         at java.lang.Class.forName0(Native Method)
>>>>>>         at java.lang.Class.forName(Class.java:164)
>>>>>>         at
>>>>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>>>>>         at
>>>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>>>>>         at Script1.run(Script1.groovy:24)
>>>>>>         at
>>>>>> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
>>>>>>         at
>>>>>> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
>>>>>>         at javax.script.CompiledScript.eval(CompiledScript.java:44)
>>>>>>         at
>>>>>> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
>>>>>>         at
>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>>>>>>         at
>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>>>>>>         at
>>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>>>>>>         ... 8 more
>>>>>>
>>>>>>
>>>>>> Any idea on this? 
>>>>>>
>>>>>> Regards
>>>>>> Brijesh N K
>>
> 

Re: smx war deployment in weblogic 10

Posted by brijesh <br...@gmail.com>.
JB, 

okay, 
I have no issues with other components only smx-scripting component gives
this issue. 
Don't know where its going wrong?. can i create a JIRA for this? . 

Regards, 
Brijesh N K


Jean-Baptiste Onofré wrote:
> 
> Sorry, not yet.
> I would like to make a test on weblogic with the war embedded into an 
> ear to test the classloader structure.
> 
> Regards
> JB
> 
> brijesh wrote:
>> JB, 
>> 
>> Any comments on this 
>> 
>> regards
>> Brijesh N K
>> 
>> 
>> 
>> brijesh wrote:
>>> JB, 
>>>
>>> Thanks for the response and valuable comment.  
>>> As far as my understanding, servicemix war file allways create a runtime
>>> data, servicemixDB folder in root directory(in weblogic domain
>>> directory).
>>> All the installed components and associated jars , service assemblies
>>> associated jars would reside in data directory. I have explored the data
>>> directory and extracted and saw the classes are avaiable in this
>>> directory. 
>>>
>>> But i am confused how to specify to weblogic classloader to pick the
>>> class
>>> from above mentioned  data directory created by servicemix more over
>>> this
>>> directory conaints dynamic data it will be determined on runtime. I have
>>> issues only with scripting component, other SEs ,and BCs are perfectly
>>> working, 
>>>
>>> Please help me on this 
>>>
>>> Regards
>>> Brijesh N K   
>>>
>>>
>>>
>>> Jean-Baptiste Onofré wrote:
>>>> Hi Brijesh,
>>>>
>>>> I think the issue is due to the WLS classloader policy.
>>>>
>>>> WebLogic Server classloading is centered on the concept of an 
>>>> application. An application is normally packaged in an Enterprise 
>>>> Archive (EAR) file containing application classes. Everything within an 
>>>> EAR file is considered part of the same application. The following may 
>>>> be part of an EAR or can be loaded as standalone applications:
>>>>
>>>>      * An Enterprise JavaBean (EJB) JAR file
>>>>      * A Web application WAR file
>>>>      * A resource adapter RAR file
>>>>
>>>> The classloader hierarchy is, by default:
>>>> WebApp -> EJB -> WLS main classloader.
>>>>
>>>> Remember that one time you go up in the classloader hierarchy, it's not 
>>>> possible to come back down.
>>>>
>>>> Nevertheless, you can define your classloader structure in the 
>>>> weblogic-application.xml using:
>>>>
>>>>      <classloader-structure>
>>>>      	<module-ref>
>>>>      		<module-uri>ejb1.jar</module-uri>
>>>>      	</module-ref>
>>>>      	<module-ref>
>>>>      		<module-uri>web3.war</module-uri>
>>>>      	</module-ref>
>>>>      	<classloader-structure>
>>>>      		<module-ref>
>>>>      			<module-uri>web1.war</module-uri>
>>>>      		</module-ref>
>>>>      	</classloader-structure>
>>>>      	<classloader-structure>
>>>>      		<module-ref>
>>>>      			<module-uri>ejb3.jar</module-uri>
>>>>      		</module-ref>
>>>>      		<module-ref>
>>>>      			<module-uri>web2.war</module-uri>
>>>>      		</module-ref>
>>>>      		<classloader-structure>
>>>>      			<module-ref>
>>>>      				<module-uri>web4.war</module-uri>
>>>>      			</module-ref>
>>>>      		</classloader-structure>
>>>>      		<classloader-structure>
>>>>      			<module-ref>
>>>>      				<module-uri>ejb2.jar</module-uri>
>>>>      			</module-ref>
>>>>      		</classloader-structure>
>>>>      	</classloader-structure>
>>>>      </classloader-structure>
>>>>
>>>> In your case, your don't have a ClassNotFoundException, you have a 
>>>> NoClassDefFoundError. It means that the class is found but not in the 
>>>> correct classloader.
>>>>
>>>> Could you make a try using a global classloader for your EAR (not 
>>>> splitted by war/ejb) ?
>>>>
>>>> Regards
>>>> JB
>>>>
>>>> brijesh wrote:
>>>>> hello , 
>>>>>
>>>>> I did servicemix3.3.war deployment  in weblogic 10 as part of an other
>>>>> ear
>>>>> file. I have service assembly which uses smx-scripting component as
>>>>> part
>>>>> of
>>>>> workflow. When i am calling this service I am getting following fault
>>>>> mesage, 
>>>>>
>>>>>
>>>>> <faultcode>soap:Server</faultcode>
>>>>>          <faultstring>java.lang.NoClassDefFoundError:
>>>>> groovy/lang/GroovyObject</faultstring>
>>>>>
>>>>>
>>>>> When I deploy as war file , without using ear file this service
>>>>> assembly
>>>>> works absoulutely fine. When I deploy war file as part of ear file i
>>>>> am
>>>>> getting above mentioned error , complete error stack as below 
>>>>>
>>>>>
>>>>> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
>>>>> groovy/lang/GroovyObject
>>>>>         at
>>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
>>>>>         at
>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>>>         at
>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>>>>>         at
>>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
>>>>>         at
>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
>>>>>         at
>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
>>>>>         at
>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>>>>         at
>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>>>>         at
>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>>>         at
>>>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>>>>         at
>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>>>>         at
>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>>>         at
>>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>>>>>         at
>>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>>>>>         at
>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>>>>>         at
>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>>>         at
>>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>>>>> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
>>>>> groovy/lang/GroovyObject
>>>>>         at
>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
>>>>>         at
>>>>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>>>>>         at
>>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>>         at
>>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>>         at
>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>>         at
>>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>>         at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>>         at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
>>>>>         at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>>>>         at
>>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>>>>>         at
>>>>> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
>>>>>         at
>>>>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
>>>>>         at
>>>>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>         at
>>>>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
>>>>>         at
>>>>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
>>>>>         at
>>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>         at
>>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>>         at
>>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>>>         at java.lang.Class.forName0(Native Method)
>>>>>         at java.lang.Class.forName(Class.java:164)
>>>>>         at
>>>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
>>>>>         at
>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
>>>>>         at
>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
>>>>>         at
>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
>>>>>         at
>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
>>>>>         at
>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
>>>>>         at
>>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
>>>>>         at
>>>>> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
>>>>>         at
>>>>> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>>>>         at
>>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>>>>         at Script1.run(Script1.groovy:24)
>>>>>         at
>>>>> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
>>>>>         at
>>>>> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
>>>>>         at javax.script.CompiledScript.eval(CompiledScript.java:44)
>>>>>         at
>>>>> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
>>>>>         at
>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>>>>>         at
>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>>>>>         at
>>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>>>>>         ... 8 more
>>>>>
>>>>>
>>>>> Any idea on this? 
>>>>>
>>>>> Regards
>>>>> Brijesh N K
>>>>
>>>
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/smx-war-deployment-in-weblogic-10-tp23959703p23978189.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx war deployment in weblogic 10

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Sorry, not yet.
I would like to make a test on weblogic with the war embedded into an 
ear to test the classloader structure.

Regards
JB

brijesh wrote:
> JB, 
> 
> Any comments on this 
> 
> regards
> Brijesh N K
> 
> 
> 
> brijesh wrote:
>> JB, 
>>
>> Thanks for the response and valuable comment.  
>> As far as my understanding, servicemix war file allways create a runtime
>> data, servicemixDB folder in root directory(in weblogic domain directory).
>> All the installed components and associated jars , service assemblies
>> associated jars would reside in data directory. I have explored the data
>> directory and extracted and saw the classes are avaiable in this
>> directory. 
>>
>> But i am confused how to specify to weblogic classloader to pick the class
>> from above mentioned  data directory created by servicemix more over this
>> directory conaints dynamic data it will be determined on runtime. I have
>> issues only with scripting component, other SEs ,and BCs are perfectly
>> working, 
>>
>> Please help me on this 
>>
>> Regards
>> Brijesh N K   
>>
>>
>>
>> Jean-Baptiste Onofré wrote:
>>> Hi Brijesh,
>>>
>>> I think the issue is due to the WLS classloader policy.
>>>
>>> WebLogic Server classloading is centered on the concept of an 
>>> application. An application is normally packaged in an Enterprise 
>>> Archive (EAR) file containing application classes. Everything within an 
>>> EAR file is considered part of the same application. The following may 
>>> be part of an EAR or can be loaded as standalone applications:
>>>
>>>      * An Enterprise JavaBean (EJB) JAR file
>>>      * A Web application WAR file
>>>      * A resource adapter RAR file
>>>
>>> The classloader hierarchy is, by default:
>>> WebApp -> EJB -> WLS main classloader.
>>>
>>> Remember that one time you go up in the classloader hierarchy, it's not 
>>> possible to come back down.
>>>
>>> Nevertheless, you can define your classloader structure in the 
>>> weblogic-application.xml using:
>>>
>>>      <classloader-structure>
>>>      	<module-ref>
>>>      		<module-uri>ejb1.jar</module-uri>
>>>      	</module-ref>
>>>      	<module-ref>
>>>      		<module-uri>web3.war</module-uri>
>>>      	</module-ref>
>>>      	<classloader-structure>
>>>      		<module-ref>
>>>      			<module-uri>web1.war</module-uri>
>>>      		</module-ref>
>>>      	</classloader-structure>
>>>      	<classloader-structure>
>>>      		<module-ref>
>>>      			<module-uri>ejb3.jar</module-uri>
>>>      		</module-ref>
>>>      		<module-ref>
>>>      			<module-uri>web2.war</module-uri>
>>>      		</module-ref>
>>>      		<classloader-structure>
>>>      			<module-ref>
>>>      				<module-uri>web4.war</module-uri>
>>>      			</module-ref>
>>>      		</classloader-structure>
>>>      		<classloader-structure>
>>>      			<module-ref>
>>>      				<module-uri>ejb2.jar</module-uri>
>>>      			</module-ref>
>>>      		</classloader-structure>
>>>      	</classloader-structure>
>>>      </classloader-structure>
>>>
>>> In your case, your don't have a ClassNotFoundException, you have a 
>>> NoClassDefFoundError. It means that the class is found but not in the 
>>> correct classloader.
>>>
>>> Could you make a try using a global classloader for your EAR (not 
>>> splitted by war/ejb) ?
>>>
>>> Regards
>>> JB
>>>
>>> brijesh wrote:
>>>> hello , 
>>>>
>>>> I did servicemix3.3.war deployment  in weblogic 10 as part of an other
>>>> ear
>>>> file. I have service assembly which uses smx-scripting component as part
>>>> of
>>>> workflow. When i am calling this service I am getting following fault
>>>> mesage, 
>>>>
>>>>
>>>> <faultcode>soap:Server</faultcode>
>>>>          <faultstring>java.lang.NoClassDefFoundError:
>>>> groovy/lang/GroovyObject</faultstring>
>>>>
>>>>
>>>> When I deploy as war file , without using ear file this service assembly
>>>> works absoulutely fine. When I deploy war file as part of ear file i am
>>>> getting above mentioned error , complete error stack as below 
>>>>
>>>>
>>>> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
>>>> groovy/lang/GroovyObject
>>>>         at
>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
>>>>         at
>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>>         at
>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>>>>         at
>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
>>>>         at
>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
>>>>         at
>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
>>>>         at
>>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>>>         at
>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>>>         at
>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>>         at
>>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>>>         at
>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>>>         at
>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>>         at
>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>>>>         at
>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>>>>         at
>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>>>>         at
>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>>         at
>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>>>> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
>>>> groovy/lang/GroovyObject
>>>>         at
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
>>>>         at
>>>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>>>>         at
>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>>         at
>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>>         at
>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>>         at
>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>>         at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>>         at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>>         at java.lang.Thread.run(Thread.java:595)
>>>> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
>>>>         at java.lang.ClassLoader.defineClass1(Native Method)
>>>>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>>>         at
>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>>>>         at
>>>> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
>>>>         at
>>>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
>>>>         at
>>>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>         at
>>>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
>>>>         at
>>>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
>>>>         at
>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>         at
>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>>         at java.lang.Class.forName0(Native Method)
>>>>         at java.lang.Class.forName(Class.java:164)
>>>>         at
>>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
>>>>         at
>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
>>>>         at
>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
>>>>         at
>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
>>>>         at
>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
>>>>         at
>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
>>>>         at
>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
>>>>         at
>>>> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
>>>>         at
>>>> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>>>         at
>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>>>         at Script1.run(Script1.groovy:24)
>>>>         at
>>>> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
>>>>         at
>>>> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
>>>>         at javax.script.CompiledScript.eval(CompiledScript.java:44)
>>>>         at
>>>> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
>>>>         at
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>>>>         at
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>>>>         at
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>>>>         ... 8 more
>>>>
>>>>
>>>> Any idea on this? 
>>>>
>>>> Regards
>>>> Brijesh N K
>>>
>>
> 

Re: smx war deployment in weblogic 10

Posted by brijesh <br...@gmail.com>.
JB, 

Any comments on this 

regards
Brijesh N K



brijesh wrote:
> 
> JB, 
> 
> Thanks for the response and valuable comment.  
> As far as my understanding, servicemix war file allways create a runtime
> data, servicemixDB folder in root directory(in weblogic domain directory).
> All the installed components and associated jars , service assemblies
> associated jars would reside in data directory. I have explored the data
> directory and extracted and saw the classes are avaiable in this
> directory. 
> 
> But i am confused how to specify to weblogic classloader to pick the class
> from above mentioned  data directory created by servicemix more over this
> directory conaints dynamic data it will be determined on runtime. I have
> issues only with scripting component, other SEs ,and BCs are perfectly
> working, 
> 
> Please help me on this 
> 
> Regards
> Brijesh N K   
> 
> 
> 
> Jean-Baptiste Onofré wrote:
>> 
>> Hi Brijesh,
>> 
>> I think the issue is due to the WLS classloader policy.
>> 
>> WebLogic Server classloading is centered on the concept of an 
>> application. An application is normally packaged in an Enterprise 
>> Archive (EAR) file containing application classes. Everything within an 
>> EAR file is considered part of the same application. The following may 
>> be part of an EAR or can be loaded as standalone applications:
>> 
>>      * An Enterprise JavaBean (EJB) JAR file
>>      * A Web application WAR file
>>      * A resource adapter RAR file
>> 
>> The classloader hierarchy is, by default:
>> WebApp -> EJB -> WLS main classloader.
>> 
>> Remember that one time you go up in the classloader hierarchy, it's not 
>> possible to come back down.
>> 
>> Nevertheless, you can define your classloader structure in the 
>> weblogic-application.xml using:
>> 
>>      <classloader-structure>
>>      	<module-ref>
>>      		<module-uri>ejb1.jar</module-uri>
>>      	</module-ref>
>>      	<module-ref>
>>      		<module-uri>web3.war</module-uri>
>>      	</module-ref>
>>      	<classloader-structure>
>>      		<module-ref>
>>      			<module-uri>web1.war</module-uri>
>>      		</module-ref>
>>      	</classloader-structure>
>>      	<classloader-structure>
>>      		<module-ref>
>>      			<module-uri>ejb3.jar</module-uri>
>>      		</module-ref>
>>      		<module-ref>
>>      			<module-uri>web2.war</module-uri>
>>      		</module-ref>
>>      		<classloader-structure>
>>      			<module-ref>
>>      				<module-uri>web4.war</module-uri>
>>      			</module-ref>
>>      		</classloader-structure>
>>      		<classloader-structure>
>>      			<module-ref>
>>      				<module-uri>ejb2.jar</module-uri>
>>      			</module-ref>
>>      		</classloader-structure>
>>      	</classloader-structure>
>>      </classloader-structure>
>> 
>> In your case, your don't have a ClassNotFoundException, you have a 
>> NoClassDefFoundError. It means that the class is found but not in the 
>> correct classloader.
>> 
>> Could you make a try using a global classloader for your EAR (not 
>> splitted by war/ejb) ?
>> 
>> Regards
>> JB
>> 
>> brijesh wrote:
>>> hello , 
>>> 
>>> I did servicemix3.3.war deployment  in weblogic 10 as part of an other
>>> ear
>>> file. I have service assembly which uses smx-scripting component as part
>>> of
>>> workflow. When i am calling this service I am getting following fault
>>> mesage, 
>>> 
>>> 
>>> <faultcode>soap:Server</faultcode>
>>>          <faultstring>java.lang.NoClassDefFoundError:
>>> groovy/lang/GroovyObject</faultstring>
>>> 
>>> 
>>> When I deploy as war file , without using ear file this service assembly
>>> works absoulutely fine. When I deploy war file as part of ear file i am
>>> getting above mentioned error , complete error stack as below 
>>> 
>>> 
>>> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
>>> groovy/lang/GroovyObject
>>>         at
>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
>>>         at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>         at
>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>>>         at
>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
>>>         at
>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
>>>         at
>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
>>>         at
>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>>         at
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>>         at
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>         at
>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>>         at
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>>         at
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>         at
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>>>         at
>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>>>         at
>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>>>         at
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>         at
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>>> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
>>> groovy/lang/GroovyObject
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
>>>         at
>>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>>>         at
>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>>         at
>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>         at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>>         at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>>         at java.lang.Thread.run(Thread.java:595)
>>> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
>>>         at java.lang.ClassLoader.defineClass1(Native Method)
>>>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>>         at
>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>>>         at
>>> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
>>>         at
>>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
>>>         at
>>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>         at
>>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
>>>         at
>>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
>>>         at
>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>         at
>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>         at java.lang.Class.forName0(Native Method)
>>>         at java.lang.Class.forName(Class.java:164)
>>>         at
>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
>>>         at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
>>>         at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
>>>         at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
>>>         at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
>>>         at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
>>>         at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
>>>         at
>>> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
>>>         at
>>> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>>         at
>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>>         at Script1.run(Script1.groovy:24)
>>>         at
>>> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
>>>         at
>>> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
>>>         at javax.script.CompiledScript.eval(CompiledScript.java:44)
>>>         at
>>> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>>>         at
>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>>>         ... 8 more
>>> 
>>> 
>>> Any idea on this? 
>>> 
>>> Regards
>>> Brijesh N K
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/smx-war-deployment-in-weblogic-10-tp23959703p23977725.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx war deployment in weblogic 10

Posted by brijesh <br...@gmail.com>.
JB, 

Thanks for the response and valuable comment.  
As far as my understanding, servicemix war file allways create a runtime
data, servicemixDB folder in root directory(in weblogic domain directory).
All the installed components and associated jars , service assemblies
associated jars would reside in data directory. I have explored the data
directory and extracted and saw the classes are avaiable in this directory. 

But i am confused how to specify to weblogic classloader to pick the class
from above mentioned  data directory created by servicemix more over this
directory conaints dynamic data it will be determined on runtime. I have
issues only with scripting component, other SEs ,and BCs are perfectly
working, 

Please help me on this 

Regards
Brijesh N K   



Jean-Baptiste Onofré wrote:
> 
> Hi Brijesh,
> 
> I think the issue is due to the WLS classloader policy.
> 
> WebLogic Server classloading is centered on the concept of an 
> application. An application is normally packaged in an Enterprise 
> Archive (EAR) file containing application classes. Everything within an 
> EAR file is considered part of the same application. The following may 
> be part of an EAR or can be loaded as standalone applications:
> 
>      * An Enterprise JavaBean (EJB) JAR file
>      * A Web application WAR file
>      * A resource adapter RAR file
> 
> The classloader hierarchy is, by default:
> WebApp -> EJB -> WLS main classloader.
> 
> Remember that one time you go up in the classloader hierarchy, it's not 
> possible to come back down.
> 
> Nevertheless, you can define your classloader structure in the 
> weblogic-application.xml using:
> 
>      <classloader-structure>
>      	<module-ref>
>      		<module-uri>ejb1.jar</module-uri>
>      	</module-ref>
>      	<module-ref>
>      		<module-uri>web3.war</module-uri>
>      	</module-ref>
>      	<classloader-structure>
>      		<module-ref>
>      			<module-uri>web1.war</module-uri>
>      		</module-ref>
>      	</classloader-structure>
>      	<classloader-structure>
>      		<module-ref>
>      			<module-uri>ejb3.jar</module-uri>
>      		</module-ref>
>      		<module-ref>
>      			<module-uri>web2.war</module-uri>
>      		</module-ref>
>      		<classloader-structure>
>      			<module-ref>
>      				<module-uri>web4.war</module-uri>
>      			</module-ref>
>      		</classloader-structure>
>      		<classloader-structure>
>      			<module-ref>
>      				<module-uri>ejb2.jar</module-uri>
>      			</module-ref>
>      		</classloader-structure>
>      	</classloader-structure>
>      </classloader-structure>
> 
> In your case, your don't have a ClassNotFoundException, you have a 
> NoClassDefFoundError. It means that the class is found but not in the 
> correct classloader.
> 
> Could you make a try using a global classloader for your EAR (not 
> splitted by war/ejb) ?
> 
> Regards
> JB
> 
> brijesh wrote:
>> hello , 
>> 
>> I did servicemix3.3.war deployment  in weblogic 10 as part of an other
>> ear
>> file. I have service assembly which uses smx-scripting component as part
>> of
>> workflow. When i am calling this service I am getting following fault
>> mesage, 
>> 
>> 
>> <faultcode>soap:Server</faultcode>
>>          <faultstring>java.lang.NoClassDefFoundError:
>> groovy/lang/GroovyObject</faultstring>
>> 
>> 
>> When I deploy as war file , without using ear file this service assembly
>> works absoulutely fine. When I deploy war file as part of ear file i am
>> getting above mentioned error , complete error stack as below 
>> 
>> 
>> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
>> groovy/lang/GroovyObject
>>         at
>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
>>         at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>         at
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>>         at
>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
>>         at
>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
>>         at
>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
>>         at
>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>         at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>         at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>         at
>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>         at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>         at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>         at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>>         at
>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>>         at
>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>>         at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>         at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
>> groovy/lang/GroovyObject
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
>>         at
>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>         at java.lang.Thread.run(Thread.java:595)
>> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
>>         at java.lang.ClassLoader.defineClass1(Native Method)
>>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>         at
>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>>         at
>> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
>>         at
>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
>>         at
>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>         at
>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
>>         at
>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
>>         at
>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>         at
>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>         at java.lang.Class.forName0(Native Method)
>>         at java.lang.Class.forName(Class.java:164)
>>         at
>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
>>         at
>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
>>         at
>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
>>         at
>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
>>         at
>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
>>         at
>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
>>         at
>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
>>         at
>> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
>>         at
>> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>>         at
>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>>         at Script1.run(Script1.groovy:24)
>>         at
>> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
>>         at
>> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
>>         at javax.script.CompiledScript.eval(CompiledScript.java:44)
>>         at
>> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>>         ... 8 more
>> 
>> 
>> Any idea on this? 
>> 
>> Regards
>> Brijesh N K
> 
> 

-- 
View this message in context: http://www.nabble.com/smx-war-deployment-in-weblogic-10-tp23959703p23963469.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx war deployment in weblogic 10

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Brijesh,

I think the issue is due to the WLS classloader policy.

WebLogic Server classloading is centered on the concept of an 
application. An application is normally packaged in an Enterprise 
Archive (EAR) file containing application classes. Everything within an 
EAR file is considered part of the same application. The following may 
be part of an EAR or can be loaded as standalone applications:

     * An Enterprise JavaBean (EJB) JAR file
     * A Web application WAR file
     * A resource adapter RAR file

The classloader hierarchy is, by default:
WebApp -> EJB -> WLS main classloader.

Remember that one time you go up in the classloader hierarchy, it's not 
possible to come back down.

Nevertheless, you can define your classloader structure in the 
weblogic-application.xml using:

     <classloader-structure>
     	<module-ref>
     		<module-uri>ejb1.jar</module-uri>
     	</module-ref>
     	<module-ref>
     		<module-uri>web3.war</module-uri>
     	</module-ref>
     	<classloader-structure>
     		<module-ref>
     			<module-uri>web1.war</module-uri>
     		</module-ref>
     	</classloader-structure>
     	<classloader-structure>
     		<module-ref>
     			<module-uri>ejb3.jar</module-uri>
     		</module-ref>
     		<module-ref>
     			<module-uri>web2.war</module-uri>
     		</module-ref>
     		<classloader-structure>
     			<module-ref>
     				<module-uri>web4.war</module-uri>
     			</module-ref>
     		</classloader-structure>
     		<classloader-structure>
     			<module-ref>
     				<module-uri>ejb2.jar</module-uri>
     			</module-ref>
     		</classloader-structure>
     	</classloader-structure>
     </classloader-structure>

In your case, your don't have a ClassNotFoundException, you have a 
NoClassDefFoundError. It means that the class is found but not in the 
correct classloader.

Could you make a try using a global classloader for your EAR (not 
splitted by war/ejb) ?

Regards
JB

brijesh wrote:
> hello , 
> 
> I did servicemix3.3.war deployment  in weblogic 10 as part of an other ear
> file. I have service assembly which uses smx-scripting component as part of
> workflow. When i am calling this service I am getting following fault
> mesage, 
> 
> 
> <faultcode>soap:Server</faultcode>
>          <faultstring>java.lang.NoClassDefFoundError:
> groovy/lang/GroovyObject</faultstring>
> 
> 
> When I deploy as war file , without using ear file this service assembly
> works absoulutely fine. When I deploy war file as part of ear file i am
> getting above mentioned error , complete error stack as below 
> 
> 
> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError:
> groovy/lang/GroovyObject
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>         at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>         at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>         at org.mortbay.jetty.Server.handle(Server.java:324)
>         at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>         at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>         at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>         at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError:
> groovy/lang/GroovyObject
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550)
>         at
> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
>         at java.lang.ClassLoader.defineClass1(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>         at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>         at
> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338)
>         at
> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291)
>         at
> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at
> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
>         at
> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
>         at
> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at
> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:164)
>         at
> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81)
>         at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252)
>         at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45)
>         at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl
>         at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl.
>         at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3
>         at
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765)
>         at
> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
>         at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
>         at Script1.run(Script1.groovy:24)
>         at
> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243)
>         at
> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46)
>         at javax.script.CompiledScript.eval(CompiledScript.java:44)
>         at
> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>         ... 8 more
> 
> 
> Any idea on this? 
> 
> Regards
> Brijesh N K