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 - Show quoted text -

    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- Show quoted text -

    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]
>
>

Reply via email to