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


[EMAIL PROTECTED]
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to