Hi,
i have searched the archive and found one article that was interesting but
didn't solved my problem. I haven't found any article that describes
problems using @Transactional in an web service.
The article i found was about establishing an transaction context for the
web service bean what means that spring autowires the transaction so that is
begins when a web service method is called and commits/rollback when the
method finishes.
The described resolution does not work for me. I tried following the
solution:
service.xml
*<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
</parameter>
<parameter name="SpringBeanName">basicService</parameter>
*applicationContext.xml
*<bean id="repositoryService" class="
de.t11t.sebpra.webservice.repository.impl.RepositoryServiceImpl">
<constructor-arg>
<ref bean="serviceManager" />
</constructor-arg>
</bean>
<bean id="basicService"
class="
org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
lazy-init="true">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref bean="repositoryService" />
</property>
<property name="transactionAttributes">
<props>
<prop key="checkin*">PROPAGATION_REQUIRED</prop>
<prop key="aquire*">PROPAGATION_REQUIRED</prop>
<prop key="checkout*">PROPAGATION_REQUIRED, readOnly</prop>
</props>
</property>
</bean>
*
This setting results in the following stack trace at startup:
*org.apache.axis2.deployment.DeploymentException: The following error
occurred during schema generation: Unable to load bytecode for class
$Proxy24
at org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(
ServiceGroupBuilder.java:106)
at
org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(
ArchiveReader.java:103)
at
org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup
(ArchiveReader.java:172)
at org.apache.axis2.deployment.ServiceDeployer.deploy(
ServiceDeployer.java:78)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy
(DeploymentFileData.java:137)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(
DeploymentEngine.java:571)
at org.apache.axis2.deployment.repository.util.WSInfoList.update(
WSInfoList.java:141)
at org.apache.axis2.deployment.RepositoryListener.update(
RepositoryListener.java:318)
at org.apache.axis2.deployment.RepositoryListener.checkServices(
RepositoryListener.java:220)
at org.apache.axis2.deployment.DeploymentEngine.loadServices(
DeploymentEngine.java:118)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(
WarBasedAxisConfigurator.java:272)
at
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext
(ConfigurationContextFactory.java:78)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(
AxisServlet.java:500)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java
:420)
at org.apache.catalina.core.StandardWrapper.loadServlet(
StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java
:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(
StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java
:4230)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:443)
at org.apache.catalina.core.StandardService.start(StandardService.java
:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java
:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: org.apache.axis2.deployment.DeploymentException: The following
error occurred during schema generation: Unable to load bytecode for class
$Proxy24
at org.apache.axis2.deployment.ServiceBuilder.populateService(
ServiceBuilder.java:389)
at org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(
ServiceGroupBuilder.java:101)
... 30 more
Caused by: org.apache.axis2.deployment.DeploymentException: The following
error occurred during schema generation: Unable to load bytecode for class
$Proxy24
at org.apache.axis2.deployment.ServiceBuilder.populateService(
ServiceBuilder.java:354)
... 31 more
Caused by: java.io.IOException: Unable to load bytecode for class $Proxy24
at org.apache.axis2.description.java2wsdl.bytecode.ClassReader.getBytes(
ClassReader.java:84)
at org.apache.axis2.description.java2wsdl.bytecode.ParamReader.<init>(
ParamReader.java:57)
at org.apache.axis2.description.java2wsdl.bytecode.ChainedParamReader
.<init>(ChainedParamReader.java:52)
at org.apache.axis2.description.java2wsdl.bytecode.MethodTable.<init>(
MethodTable.java:30)
at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(
DefaultSchemaGenerator.java:116)
at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java
:340)
at org.apache.axis2.deployment.ServiceBuilder.populateService(
ServiceBuilder.java:347)
... 31 more
17:29:53,948 ERROR ServiceDeployer:91 - The RepositoryService service, which
is not valid, caused The following error occurred during schema generation:
Unable to load bytecode for class $Proxy24
org.apache.axis2.deployment.DeploymentException: The following error
occurred during schema generation: Unable to load bytecode for class
$Proxy24
at org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(
ServiceGroupBuilder.java:106)
at
org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(
ArchiveReader.java:103)
at
org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup
(ArchiveReader.java:172)
at org.apache.axis2.deployment.ServiceDeployer.deploy(
ServiceDeployer.java:78)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy
(DeploymentFileData.java:137)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(
DeploymentEngine.java:571)
at org.apache.axis2.deployment.repository.util.WSInfoList.update(
WSInfoList.java:141)
at org.apache.axis2.deployment.RepositoryListener.update(
RepositoryListener.java:318)
at org.apache.axis2.deployment.RepositoryListener.checkServices(
RepositoryListener.java:220)
at org.apache.axis2.deployment.DeploymentEngine.loadServices(
DeploymentEngine.java:118)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(
WarBasedAxisConfigurator.java:272)
at
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext
(ConfigurationContextFactory.java:78)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(
AxisServlet.java:500)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java
:420)
at org.apache.catalina.core.StandardWrapper.loadServlet(
StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java
:966)
at org.apache.catalina.core.StandardContext.loadOnStartup(
StandardContext.java:3956)
at org.apache.catalina.core.StandardContext.start(StandardContext.java
:4230)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:443)
at org.apache.catalina.core.StandardService.start(StandardService.java
:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java
:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: org.apache.axis2.deployment.DeploymentException: The following
error occurred during schema generation: Unable to load bytecode for class
$Proxy24
at org.apache.axis2.deployment.ServiceBuilder.populateService(
ServiceBuilder.java:389)
at org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(
ServiceGroupBuilder.java:101)
... 30 more
Caused by: org.apache.axis2.deployment.DeploymentException: The following
error occurred during schema generation: Unable to load bytecode for class
$Proxy24
at org.apache.axis2.deployment.ServiceBuilder.populateService(
ServiceBuilder.java:354)
... 31 more
Caused by: java.io.IOException: Unable to load bytecode for class $Proxy24
at org.apache.axis2.description.java2wsdl.bytecode.ClassReader.getBytes(
ClassReader.java:84)
at org.apache.axis2.description.java2wsdl.bytecode.ParamReader.<init>(
ParamReader.java:57)
at org.apache.axis2.description.java2wsdl.bytecode.ChainedParamReader
.<init>(ChainedParamReader.java:52)
at org.apache.axis2.description.java2wsdl.bytecode.MethodTable.<init>(
MethodTable.java:30)
at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(
DefaultSchemaGenerator.java:116)
at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java
:340)
at org.apache.axis2.deployment.ServiceBuilder.populateService(
ServiceBuilder.java:347)
... 31 more*
I think it is the same trace like configuring it with @Transactional in the
web service directly....
Hope you can help me.
Regards, Tobias
On Dec 6, 2007 1:39 PM, robert lazarski <[EMAIL PROTECTED]> wrote:
> Please search the archives, this subject has come up a few times in
> the last month or so. After that, if your still stuck I'll try and
> take a deeper look. I'll adjust the spring docs to address this issue
> asap.
>
> HTH,
> Robert
>
> On Dec 6, 2007 5:12 AM, Tobias Anstett <[EMAIL PROTECTED]>
> wrote:
> > Hi,
> >
> > i am using Axis 2 (1.3) with Spring 2.0+ and its declarative transaction
> > management.
> >
> > <!-- Using the @Transactional annotation for declarative transaction
> > management -->
> > <tx:annotation-driven transaction-manager="transactionManager"/>
> >
> > works great on the dao and manager classes, but won't work with my web
> > services. I have tried to set the @Transactional annotation on web
> service
> > interface and implementation class level, but each will result in the
> > following exception trace:
> >
> > org.apache.axis2.deployment.DeploymentException: The following error
> > occurred during schema generation: Unable to load bytecode for class
> > $Proxy26
> > at
> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup
> > (ServiceGroupBuilder.java:106)
> > at
> >
> org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup
> (ArchiveReader.java:103)
> > at
> >
> org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup
> > (ArchiveReader.java:172)
> > at
> > org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java
> :78)
> > at
> > org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(
> DeploymentFileData.java:137)
> > at
> > org.apache.axis2.deployment.DeploymentEngine.doDeploy(
> DeploymentEngine.java:571)
> > at
> > org.apache.axis2.deployment.repository.util.WSInfoList.update(
> WSInfoList.java:141)
> > at org.apache.axis2.deployment.RepositoryListener.update
> > (RepositoryListener.java:318)
> > at
> > org.apache.axis2.deployment.RepositoryListener.checkServices(
> RepositoryListener.java:220)
> > at
> > org.apache.axis2.deployment.DeploymentEngine.loadServices(
> DeploymentEngine.java:118)
> > at
> > org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(
> WarBasedAxisConfigurator.java:272)
> > at
> >
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext
> (ConfigurationContextFactory.java
> > :78)
> > at
> > org.apache.axis2.transport.http.AxisServlet.initConfigContext(
> AxisServlet.java:500)
> > at
> > org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:420)
> > at org.apache.catalina.core.StandardWrapper.loadServlet
> > (StandardWrapper.java:1139)
> > at
> > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
> > at
> > org.apache.catalina.core.StandardContext.loadOnStartup(
> StandardContext.java:3956)
> > at org.apache.catalina.core.StandardContext.start
> > (StandardContext.java:4230)
> > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> :1014)
> > at org.apache.catalina.core.StandardHost.start(StandardHost.java
> :736)
> > at org.apache.catalina.core.ContainerBase.start
> > (ContainerBase.java:1014)
> > at
> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> > at
> > org.apache.catalina.core.StandardService.start(StandardService.java:448)
> > at org.apache.catalina.core.StandardServer.start
> > (StandardServer.java:700)
> > at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:39)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:295)
> > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> > Caused by: org.apache.axis2.deployment.DeploymentException: The
> following
> > error occurred during schema generation: Unable to load bytecode for
> class
> > $Proxy26
> > at
> > org.apache.axis2.deployment.ServiceBuilder.populateService(
> ServiceBuilder.java:389)
> > at
> > org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(
> ServiceGroupBuilder.java:101)
> > ... 30 more
> > Caused by: org.apache.axis2.deployment.DeploymentException: The
> following
> > error occurred during schema generation: Unable to load bytecode for
> class
> > $Proxy26
> > at org.apache.axis2.deployment.ServiceBuilder.populateService
> > (ServiceBuilder.java:354)
> > ... 31 more
> > Caused by: java.io.IOException: Unable to load bytecode for class
> $Proxy26
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.ClassReader.getBytes(
> ClassReader.java:84)
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.ParamReader.<init>(
> ParamReader.java:57)
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.ChainedParamReader
> .<init>(ChainedParamReader.java:52)
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.MethodTable.<init>(
> MethodTable.java:30)
> > at
> > org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(
> DefaultSchemaGenerator.java:116)
> > at
> > org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:340)
> > at
> > org.apache.axis2.deployment.ServiceBuilder.populateService(
> ServiceBuilder.java:347)
> > ... 31 more
> > 10:59:45,187 ERROR ServiceDeployer:91 - The RepositoryService service,
> which
> > is not valid, caused The following error occurred during schema
> generation:
> > Unable to load bytecode for class $Proxy26
> > org.apache.axis2.deployment.DeploymentException: The following error
> > occurred during schema generation: Unable to load bytecode for class
> > $Proxy26
> > at
> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup
> > (ServiceGroupBuilder.java:106)
> > at
> >
> org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup
> (ArchiveReader.java:103)
> > at
> >
> org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup
> > (ArchiveReader.java:172)
> > at
> > org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java
> :78)
> > at
> > org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(
> DeploymentFileData.java:137)
> > at
> > org.apache.axis2.deployment.DeploymentEngine.doDeploy(
> DeploymentEngine.java:571)
> > at
> > org.apache.axis2.deployment.repository.util.WSInfoList.update(
> WSInfoList.java:141)
> > at org.apache.axis2.deployment.RepositoryListener.update
> > (RepositoryListener.java:318)
> > at
> > org.apache.axis2.deployment.RepositoryListener.checkServices(
> RepositoryListener.java:220)
> > at
> > org.apache.axis2.deployment.DeploymentEngine.loadServices(
> DeploymentEngine.java:118)
> > at
> > org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(
> WarBasedAxisConfigurator.java:272)
> > at
> >
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext
> (ConfigurationContextFactory.java
> > :78)
> > at
> > org.apache.axis2.transport.http.AxisServlet.initConfigContext(
> AxisServlet.java:500)
> > at
> > org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:420)
> > at org.apache.catalina.core.StandardWrapper.loadServlet
> > (StandardWrapper.java:1139)
> > at
> > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
> > at
> > org.apache.catalina.core.StandardContext.loadOnStartup(
> StandardContext.java:3956)
> > at org.apache.catalina.core.StandardContext.start
> > (StandardContext.java:4230)
> > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> :1014)
> > at org.apache.catalina.core.StandardHost.start(StandardHost.java
> :736)
> > at org.apache.catalina.core.ContainerBase.start
> > (ContainerBase.java:1014)
> > at
> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> > at
> > org.apache.catalina.core.StandardService.start(StandardService.java:448)
> > at org.apache.catalina.core.StandardServer.start
> > (StandardServer.java:700)
> > at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:39)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:295)
> > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> > Caused by: org.apache.axis2.deployment.DeploymentException: The
> following
> > error occurred during schema generation: Unable to load bytecode for
> class
> > $Proxy26
> > at
> > org.apache.axis2.deployment.ServiceBuilder.populateService(
> ServiceBuilder.java:389)
> > at
> > org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(
> ServiceGroupBuilder.java:101)
> > ... 30 more
> > Caused by: org.apache.axis2.deployment.DeploymentException: The
> following
> > error occurred during schema generation: Unable to load bytecode for
> class
> > $Proxy26
> > at org.apache.axis2.deployment.ServiceBuilder.populateService
> > (ServiceBuilder.java:354)
> > ... 31 more
> > Caused by: java.io.IOException: Unable to load bytecode for class
> $Proxy26
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.ClassReader.getBytes(
> ClassReader.java:84)
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.ParamReader.<init>(
> ParamReader.java:57)
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.ChainedParamReader
> .<init>(ChainedParamReader.java:52)
> > at
> > org.apache.axis2.description.java2wsdl.bytecode.MethodTable.<init>(
> MethodTable.java:30)
> > at
> > org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(
> DefaultSchemaGenerator.java:116)
> > at
> > org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:340)
> > at
> > org.apache.axis2.deployment.ServiceBuilder.populateService(
> ServiceBuilder.java:347)
> > ... 31 more
> >
> >
> >
> > Here is my service.xml
> >
> > <serviceGroup>
> > <service name="RepositoryService">
> > <description>This is the repository webservice</description>
> >
> > <parameter name="ServiceObjectSupplier">
> >
> >
> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
> > </parameter>
> > <parameter name="SpringBeanName">repositoryService</parameter>
> >
> > <module ref="rampart" />
> >
> > <parameter name="InflowSecurity">
> > <action>
> > <items>Timestamp UsernameToken</items>
> > <passwordCallbackClass>
> >
> de.t11t.sebpra.webservice.repository.handler.PWCBHandler
> > </passwordCallbackClass>
> > </action>
> > </parameter>
> >
> > <parameter name="OutflowSecurity">
> > <action>
> > <items>Timestamp</items>
> > </action>
> > </parameter>
> >
> > <operation name="test">
> > <messageReceiver
> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"
> />
> > </operation>
> >
> > </service>
> > </serviceGroup>
> >
> >
> > Hope somebody can help...
> >
> > Regards, Tobias
> >
> >
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>