You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Moritz Gmelin <mo...@gmx.de> on 2008/01/26 16:25:56 UTC

Exception using Tapestry-ioc in AXIS2 Service

Hi,

I don't know if this is off topic but I'll try anyways.

I'm trying to build a webservice for axis2 that uses tapestry-ioc  
dependency injection together with tapestry-hibernate. All my JUnit  
tests with the tapestry-ioc based service work well (without axis2).  
But if I try to generate the aar file and deploy that on my axis2  
server, I get the following Exception upon first connection to the  
service

java.lang.NoClassDefFoundError: org/apache/tapestry/ioc/ObjectCreator
         at java.lang.Class.getDeclaredConstructors0(Native Method)
         at java.lang.Class.privateGetDeclaredConstructors(Class.java: 
2357)
         at java.lang.Class.getConstructors(Class.java:1446)
         at  
org 
.apache 
.tapestry.ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java: 
382)
         at  
org 
.apache.tapestry.ioc.internal.ModuleImpl.createProxy(ModuleImpl.java: 
341)
         at  
org.apache.tapestry.ioc.internal.ModuleImpl.create(ModuleImpl.java:233)
         at  
org 
.apache.tapestry.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java: 
163)
         at  
org.apache.tapestry.ioc.internal.ModuleImpl.getService(ModuleImpl.java: 
91)
         at  
org 
.apache 
.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:294)
         at  
org 
.apache 
.tapestry 
.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:207)
         at  
org 
.apache 
.tapestry 
.ioc 
.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java: 
68)
         at  
de 
.avetana 
.rtx 
.service 
.RTX33XXSoapSkeleton.setupMeasurementService(RTX33XXSoapSkeleton.java: 
251)

Very strange already because it tells that a class is missing  
(ObjectCreator), where another class that is within the same JAR  
(tapestry-ioc-5.0.7.jar)  is obviousely present (ModuleImpl).


However, when connecting afterwards, this exception does not appear  
but another exception


org.apache.tapestry.ioc.internal.RegistryWrapper@a88c32
java.lang.RuntimeException: Error building service proxy for service  
'MeasurementService' (at  
de.avetana.services.receiver.MeasurementServiceImpl(Session) (at  
MeasurementServiceImpl.java:44)): Unable to create class  
$MeasurementService_117b6aa4a95: by java.lang.NoClassDefFoundError: de/ 
avetana/services/receiver/MeasurementService
         at  
org.apache.tapestry.ioc.internal.ModuleImpl.create(ModuleImpl.java:251)
         at  
org 
.apache.tapestry.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java: 
163)
         at  
org.apache.tapestry.ioc.internal.ModuleImpl.getService(ModuleImpl.java: 
91)
         at  
org 
.apache 
.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:294)
         at  
org 
.apache 
.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:524)
         at  
org 
.apache 
.tapestry.ioc.internal.RegistryWrapper.getService(RegistryWrapper.java: 
58)
         at  
de 
.avetana 
.rtx 
.service 
.RTX33XXSoapSkeleton.setupMeasurementService(RTX33XXSoapSkeleton.java: 
253)


Both classes (org/apache/tapestry/ioc/ObjectCreator and de/avetana/ 
services/receiver/MeasurementService) are definitely within axis2 range.
And there are no mismatched jars too since this happens on two clean  
tomcat (6.0.14) and jetty (6.0.0) Application servers with no other  
services.

Anyone got a clue?

We were using hivemind 1.1.1 previousely to do the dependency  
injection and it worked fine.

Thanks

Moritz



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Exception using Tapestry-ioc in AXIS2 Service

Posted by Moritz Gmelin <mo...@gmx.de>.
OK,

after some more trying, I think that the problem is related to the way  
axis2 is extracting libraries from its .aar archive files. The  
libraries contained inside the .aar file are extracted and renamed to  
the tomcat_home/work/cataline/localhost/.... tree and the name is  
changed to with axis2nnnn prefix. This seems to break tapestry-ioc  
somehow.
If I take the jars in my aar archive manually and extract them into  
the tomcat_home/webapps/axis2/WEB-INF/lib directory, everything works  
fine.

Does this make sense?

M.


Am 26.01.2008 um 16:25 schrieb Moritz Gmelin:

> Hi,
>
> I don't know if this is off topic but I'll try anyways.
>
> I'm trying to build a webservice for axis2 that uses tapestry-ioc  
> dependency injection together with tapestry-hibernate. All my JUnit  
> tests with the tapestry-ioc based service work well (without axis2).  
> But if I try to generate the aar file and deploy that on my axis2  
> server, I get the following Exception upon first connection to the  
> service
>
> java.lang.NoClassDefFoundError: org/apache/tapestry/ioc/ObjectCreator
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>        at java.lang.Class.privateGetDeclaredConstructors(Class.java: 
> 2357)
>        at java.lang.Class.getConstructors(Class.java:1446)
>        at  
> org 
> .apache 
> .tapestry 
> .ioc.internal.ModuleImpl.createProxyInstance(ModuleImpl.java:382)
>        at  
> org 
> .apache.tapestry.ioc.internal.ModuleImpl.createProxy(ModuleImpl.java: 
> 341)
>        at  
> org.apache.tapestry.ioc.internal.ModuleImpl.create(ModuleImpl.java: 
> 233)
>        at  
> org 
> .apache 
> .tapestry.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:163)
>        at  
> org 
> .apache.tapestry.ioc.internal.ModuleImpl.getService(ModuleImpl.java: 
> 91)
>        at  
> org 
> .apache 
> .tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:294)
>        at  
> org 
> .apache 
> .tapestry 
> .ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java: 
> 207)
>        at  
> org 
> .apache 
> .tapestry 
> .ioc 
> .internal 
> .RegistryWrapper.performRegistryStartup(RegistryWrapper.java:68)
>        at  
> de 
> .avetana 
> .rtx 
> .service 
> .RTX33XXSoapSkeleton 
> .setupMeasurementService(RTX33XXSoapSkeleton.java:251)
>
> Very strange already because it tells that a class is missing  
> (ObjectCreator), where another class that is within the same JAR  
> (tapestry-ioc-5.0.7.jar)  is obviousely present (ModuleImpl).
>
>
> However, when connecting afterwards, this exception does not appear  
> but another exception
>
>
> org.apache.tapestry.ioc.internal.RegistryWrapper@a88c32
> java.lang.RuntimeException: Error building service proxy for service  
> 'MeasurementService' (at  
> de.avetana.services.receiver.MeasurementServiceImpl(Session) (at  
> MeasurementServiceImpl.java:44)): Unable to create class  
> $MeasurementService_117b6aa4a95: by java.lang.NoClassDefFoundError:  
> de/avetana/services/receiver/MeasurementService
>        at  
> org.apache.tapestry.ioc.internal.ModuleImpl.create(ModuleImpl.java: 
> 251)
>        at  
> org 
> .apache 
> .tapestry.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:163)
>        at  
> org 
> .apache.tapestry.ioc.internal.ModuleImpl.getService(ModuleImpl.java: 
> 91)
>        at  
> org 
> .apache 
> .tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:294)
>        at  
> org 
> .apache 
> .tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:524)
>        at  
> org 
> .apache 
> .tapestry 
> .ioc.internal.RegistryWrapper.getService(RegistryWrapper.java:58)
>        at  
> de 
> .avetana 
> .rtx 
> .service 
> .RTX33XXSoapSkeleton 
> .setupMeasurementService(RTX33XXSoapSkeleton.java:253)
>
>
> Both classes (org/apache/tapestry/ioc/ObjectCreator and de/avetana/ 
> services/receiver/MeasurementService) are definitely within axis2  
> range.
> And there are no mismatched jars too since this happens on two clean  
> tomcat (6.0.14) and jetty (6.0.0) Application servers with no other  
> services.
>
> Anyone got a clue?
>
> We were using hivemind 1.1.1 previousely to do the dependency  
> injection and it worked fine.
>
> Thanks
>
> Moritz
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org