[b]Service 的实现类[/b]
[b]把编译好的class 放到<Tomcat安装目录>\webapps\axis2\WEB-INF\classes目录中,如果class比较多你也可以打成jar 包放到 WEB-INF\lib下[/b]
[b]
编写springBean的applicationContext 文件[/b]
在axis2的web.xml中加入contextloadlistener来load spring 配置文件
[b]编写services.xml放到一个META-INF文件中并打成arr 包,注这里我们不需要把class文件打进去,只要services.xml配置文件就ok了[/b]
这里要主要两个parameter 一个是ServiceObjectSupplier 我们用的是org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier这个supplier是用来取得spring 的applicationContext.
另外一个parameter是SpringBeanName就是我们的service的实现类在springContext里的Bean id.
最后不要忘了把spring相关的jar包放到axis2/web-inf/lib的目录下。
这样一个基于spring bean的service就发布好了。
public class SpringBeanTest {
public String getWeatherReport(String city) {
return city + " weather is very hot currently";
}
}
[b]把编译好的class 放到<Tomcat安装目录>\webapps\axis2\WEB-INF\classes目录中,如果class比较多你也可以打成jar 包放到 WEB-INF\lib下[/b]
[b]
编写springBean的applicationContext 文件[/b]
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="springService" class="com.bank.webservice.SpringBeanTest">
</bean>
</beans>
在axis2的web.xml中加入contextloadlistener来load spring 配置文件
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
[b]编写services.xml放到一个META-INF文件中并打成arr 包,注这里我们不需要把class文件打进去,只要services.xml配置文件就ok了[/b]
<service name="springService">
<description>
Spring aware
</description>
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
</parameter>
<parameter name="SpringBeanName">
springService
</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
</service>
这里要主要两个parameter 一个是ServiceObjectSupplier 我们用的是org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier这个supplier是用来取得spring 的applicationContext.
另外一个parameter是SpringBeanName就是我们的service的实现类在springContext里的Bean id.
最后不要忘了把spring相关的jar包放到axis2/web-inf/lib的目录下。
这样一个基于spring bean的service就发布好了。