Issue 1:
Roberto Ruiz opened SPR-5352 and commented

I suppose this is more an Axis2 problem that an Spring one, but may be something can be done

I am programming a webservice using Axis2. The bean is provided by Spring:

<parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>

<parameter name="SpringBeanName">habilitadosWebService</parameter>

It works OK, until I try to put an aspect around habilitadosWebService bean (The aspect is used to control security). When I start the Tomcat server, I recieve the following exception message: Unable to load bytecode for class $Proxy16. I also tried using CGLIB proxies, but the result is the same.

The stack trace is:

[ERROR] 11:54:19,592 The HabilitadosWeb service, which is not valid, caused The following error occurred during schema generation: Unable to load bytecode for class $Proxy16 (ServiceDeployer.java:deploy:96)

org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy16

at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:431)

at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:102)

at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:179)

at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:81)

at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)

at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:597)

at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)

at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:330)

at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:227)

at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:131)

at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:284)

at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:82)

at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:516)

at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:436)

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 $Proxy16

at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:394)

... 30 more

Caused by: java.io.IOException: Unable to load bytecode for class $Proxy16

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:31)

at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(DefaultSchemaGenerator.java:158)

at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:524)

at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:386)

... 30 more

Affects: 2.5.3

Issue Links:

#10026 Can't use aspects around Axis2 service beans ("is duplicated by")

Issue 2:
Antony Blakey opened SPR-1259 and commented

org.springframework.web.servlet.FrameworkServer.serviceWrapper is private, which makes it impossible to create a subclass of DispatcherServlet that handles extended HTTP verbs such as the WebDAV set - to do this you need to override HttpServlet.service and pass calls to serviceWrapper. It's not an option to copy the serviceWrapper method because it refers to private fields. By simply changing serviceWrapper from private to protected this use case would be enabled.

The only workaround is to duplicate FrameworkServlet + DispatcherServlet in one's own code, which is a PITA in every way.

Affects: 1.2.4