You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "edward peng (JIRA)" <ji...@apache.org> on 2007/09/26 11:50:50 UTC

[jira] Created: (AXIS2-3230) axis2 deployment failure for web services proxied by Spring

axis2 deployment failure for web services proxied by Spring
-----------------------------------------------------------

                 Key: AXIS2-3230
                 URL: https://issues.apache.org/jira/browse/AXIS2-3230
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: deployment
    Affects Versions: 1.3
         Environment: tomcat 5.5.25
jre 1.5.0.12
windows xp
            Reporter: edward peng
            Priority: Critical


I have a simple webservice proxied by a Spring proxy factory bean.
The spring context is configured as so:

<bean id="simpleWebService" class="org.springframework.aop.framework.ProxyFactoryBean">
   <property name="proxyInterfaces"><value>com.test.simpleWebService</value></property>
   <property name="target"><ref local="simpleWebServiceTarget"/></property>
   <property name="interceptorNames">
      <list>
         <value>methodAuditInterceptor</value>
      </list>
    </property>
</bean>

<bean id="simpleWebServiceTarget" class="com.test.simpleWebServiceImpl">

The services.xml is:

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

	<messageReceivers>
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
	</messageReceivers>
</service>

At runtime, Spring generates a JDK proxy around the simple web service. When the axis2 service deployer tries to deploy this webservice it generates the following stacktrace:

org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:144)
	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(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	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 $Proxy4
	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:389)
	at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:95)
	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:137)
	... 28 more
Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:354)
	... 30 more
Caused by: java.io.IOException: Unable to load bytecode for class $Proxy4
	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)
	... 30 more

>From the stacktrace it appears that java2wsdl requires the bytecode but because the proxy is generated in memory it doesn't exist.
I have though about a couple of workarounds including:
1) Using AspectJ to weave at compile time  (starting to make the application more complex and I am not sure if this will work)
2) Provide a pregenerated WSDL (I can create the WSDL myself) so that I can bypass this step during deployment? Is this possible?




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-3230) axis2 deployment failure for web services proxied by Spring

Posted by "ed p (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ed p resolved AXIS2-3230.
-------------------------

    Resolution: Fixed

haven't had a chance to test it out but the fix for AXIS2-3258  should work for this.

> axis2 deployment failure for web services proxied by Spring
> -----------------------------------------------------------
>
>                 Key: AXIS2-3230
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3230
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.3
>         Environment: tomcat 5.5.25
> jre 1.5.0.12
> windows xp
>            Reporter: ed p
>            Priority: Critical
>
> I have a simple webservice proxied by a Spring proxy factory bean.
> The spring context is configured as so:
> <bean id="simpleWebService" class="org.springframework.aop.framework.ProxyFactoryBean">
>    <property name="proxyInterfaces"><value>com.test.simpleWebService</value></property>
>    <property name="target"><ref local="simpleWebServiceTarget"/></property>
>    <property name="interceptorNames">
>       <list>
>          <value>methodAuditInterceptor</value>
>       </list>
>     </property>
> </bean>
> <bean id="simpleWebServiceTarget" class="com.test.simpleWebServiceImpl">
> The services.xml is:
> <service name="SimpleWebService">
> 	<parameter name="ServiceObjectSupplier">
> 		org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
> 	</parameter>
> 	<parameter name="SpringBeanName">simpleWebService</parameter>
> 	<messageReceivers>
> 		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> 			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
> 		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> 			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
> 	</messageReceivers>
> </service>
> At runtime, Spring generates a JDK proxy around the simple web service. When the axis2 service deployer tries to deploy this webservice it generates the following stacktrace:
> org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:144)
> 	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(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	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 $Proxy4
> 	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:389)
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:95)
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:137)
> 	... 28 more
> Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
> 	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:354)
> 	... 30 more
> Caused by: java.io.IOException: Unable to load bytecode for class $Proxy4
> 	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)
> 	... 30 more
> From the stacktrace it appears that java2wsdl requires the bytecode but because the proxy is generated in memory it doesn't exist.
> I have though about a couple of workarounds including:
> 1) Using AspectJ to weave at compile time  (starting to make the application more complex and I am not sure if this will work)
> 2) Provide a pregenerated WSDL (I can create the WSDL myself) so that I can bypass this step during deployment? Is this possible?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-3230) axis2 deployment failure for web services proxied by Spring

Posted by "Oleg Efimov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12533323 ] 

Oleg Efimov commented on AXIS2-3230:
------------------------------------

Ed, refer to AXIS2-3258.

> axis2 deployment failure for web services proxied by Spring
> -----------------------------------------------------------
>
>                 Key: AXIS2-3230
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3230
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.3
>         Environment: tomcat 5.5.25
> jre 1.5.0.12
> windows xp
>            Reporter: ed p
>            Priority: Critical
>
> I have a simple webservice proxied by a Spring proxy factory bean.
> The spring context is configured as so:
> <bean id="simpleWebService" class="org.springframework.aop.framework.ProxyFactoryBean">
>    <property name="proxyInterfaces"><value>com.test.simpleWebService</value></property>
>    <property name="target"><ref local="simpleWebServiceTarget"/></property>
>    <property name="interceptorNames">
>       <list>
>          <value>methodAuditInterceptor</value>
>       </list>
>     </property>
> </bean>
> <bean id="simpleWebServiceTarget" class="com.test.simpleWebServiceImpl">
> The services.xml is:
> <service name="SimpleWebService">
> 	<parameter name="ServiceObjectSupplier">
> 		org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
> 	</parameter>
> 	<parameter name="SpringBeanName">simpleWebService</parameter>
> 	<messageReceivers>
> 		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> 			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
> 		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> 			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
> 	</messageReceivers>
> </service>
> At runtime, Spring generates a JDK proxy around the simple web service. When the axis2 service deployer tries to deploy this webservice it generates the following stacktrace:
> org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:144)
> 	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(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	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 $Proxy4
> 	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:389)
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:95)
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:137)
> 	... 28 more
> Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
> 	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:354)
> 	... 30 more
> Caused by: java.io.IOException: Unable to load bytecode for class $Proxy4
> 	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)
> 	... 30 more
> From the stacktrace it appears that java2wsdl requires the bytecode but because the proxy is generated in memory it doesn't exist.
> I have though about a couple of workarounds including:
> 1) Using AspectJ to weave at compile time  (starting to make the application more complex and I am not sure if this will work)
> 2) Provide a pregenerated WSDL (I can create the WSDL myself) so that I can bypass this step during deployment? Is this possible?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-3230) axis2 deployment failure for web services proxied by Spring

Posted by "samir shaikh (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569164#action_12569164 ] 

samir shaikh commented on AXIS2-3230:
-------------------------------------

i tried what is stated in 3250.. the deployment does go thru but the proxy-d class does not load up. The support for spring proxy seems to be missing. Bug still not fixed!

> axis2 deployment failure for web services proxied by Spring
> -----------------------------------------------------------
>
>                 Key: AXIS2-3230
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3230
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.3
>         Environment: tomcat 5.5.25
> jre 1.5.0.12
> windows xp
>            Reporter: ed p
>            Priority: Critical
>
> I have a simple webservice proxied by a Spring proxy factory bean.
> The spring context is configured as so:
> <bean id="simpleWebService" class="org.springframework.aop.framework.ProxyFactoryBean">
>    <property name="proxyInterfaces"><value>com.test.simpleWebService</value></property>
>    <property name="target"><ref local="simpleWebServiceTarget"/></property>
>    <property name="interceptorNames">
>       <list>
>          <value>methodAuditInterceptor</value>
>       </list>
>     </property>
> </bean>
> <bean id="simpleWebServiceTarget" class="com.test.simpleWebServiceImpl">
> The services.xml is:
> <service name="SimpleWebService">
> 	<parameter name="ServiceObjectSupplier">
> 		org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
> 	</parameter>
> 	<parameter name="SpringBeanName">simpleWebService</parameter>
> 	<messageReceivers>
> 		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> 			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
> 		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> 			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
> 	</messageReceivers>
> </service>
> At runtime, Spring generates a JDK proxy around the simple web service. When the axis2 service deployer tries to deploy this webservice it generates the following stacktrace:
> org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:144)
> 	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(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	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 $Proxy4
> 	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:389)
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:95)
> 	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:137)
> 	... 28 more
> Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: Unable to load bytecode for class $Proxy4
> 	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:354)
> 	... 30 more
> Caused by: java.io.IOException: Unable to load bytecode for class $Proxy4
> 	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)
> 	... 30 more
> From the stacktrace it appears that java2wsdl requires the bytecode but because the proxy is generated in memory it doesn't exist.
> I have though about a couple of workarounds including:
> 1) Using AspectJ to weave at compile time  (starting to make the application more complex and I am not sure if this will work)
> 2) Provide a pregenerated WSDL (I can create the WSDL myself) so that I can bypass this step during deployment? Is this possible?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org