axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "van Hugten, Stephan" <stephan.vanhug...@atosorigin.com>
Subject RE: Axis2-Spring integration
Date Thu, 01 Apr 2010 10:30:21 GMT
Amila,
 
First of all how you managed to provide the jsr 181 support? 
In my latest addition I fire a Spring-based classpath scanner from my BeanDefinitionParser
which adds any @Webservice annotated class as a Spring Bean. It also registers the WebserviceAnnotationBeanPostProcessor
(found in [1]) class which deploys the annotated bean as AxisService.
 
What is the message receiver used in this case?
It uses the default message receiver. The difference is that during deploy-time the service
is configured to use the SpringServiceObjectSupplier (found in [1]) so that it will use the
Spring bean as Service Object.
 
In your case the difference between deploying sping beans as a .aar file and use your approach
is to let users to specify even the configuration details as spring beans. Anyway the simple
http server is not something recomended in a production envirionment.
That's something I also want to achieve. The .aar file format is not exactly ideal for this
purpose. I'm not intimate with the details about TransportReceivers in Axis2 so I simply chose
SimpleHTTPServer because I know this receiver and to demonstrate my convention.
 
Regards,
 
Stephan van Hugten
 
[1] https://svn.apache.org/repos/asf/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/
<https://mymail.nl.atosorigin.com/exchweb/bin/redir.asp?URL=https://svn.apache.org/repos/asf/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/>


________________________________

Van: Amila Suriarachchi [mailto:amilasuriarachchi@gmail.com]
Verzonden: do 1-4-2010 11:52
Aan: java-dev@axis.apache.org
Onderwerp: Re: Axis2-Spring integration




On Thu, Apr 1, 2010 at 1:44 PM, van Hugten, Stephan <stephan.vanhugten@atosorigin.com>
wrote:


	As you can read in issue AXIS2-4662[1] I support the idea of starting from scratch as this
provides the most lean and extensible result. I also vote for a solution which has convention
over configuration, where the end-user can deploy the basic run-time within 5 lines of XML
configuration and add configuration only to override the defaults.
	For instance I would make the SimpleHTTPServer and the CommonsHTTPTransportSender the default
choice for a ConfigurationContext to minimize the mandatory top-level elements. The basic
run-time configuration would then look like this:
	
	<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
	            xmlns="http://axis.apache.org/spring-axis2"
	            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
	                                http://axis.apache.org/spring-axis2 http://axis.apache.org/schema/spring-axis2.xsd">
	   <!-- Configures a run-time at port 6060 with the default SimpleHTTPServer receiver
and CommonsHTTPTransportSender sender -->
	   <configurationContext port="6060" />
	
	   <!-- Resolves any @Webservice annotated webservice on the classpath -->
	   <webserviceAnnotationConfig />
	</beans:beans>
	
	I started with the creation of a new DefinitionBuilder that would resolve the basic run-time
configuration XML with a different namespace (Something like http://axis.apache.org/axis2-configuration).
	We should also decide what types of webservices this solution should support. Will this project
still support AAR's (including POJO's)?
	


I went through the jira but did not have time to go through your code. will do at the week
end try to put more comments.

First of all how you managed to provide the jsr 181 support? What is the message receiver
used in this case?

In your case the difference between deploying sping beans as a .aar file and use your approach
is to let users to specify even the configuration details as spring beans. Anyway the simple
http server is not something recomended in a production envirionment.

But embeding Axis2 in a spring envirionment is different from this. It let users to expose
existing spring beans in a spring container as web services.

In a spring users point of view what is most important is the later case.

thanks,
Amila.


Mime
View raw message