Axis2 中 将Spring的装配JavaBean发布成WebService

本文介绍如何使用Spring Bean实现Web服务的部署过程,包括编写实现类、配置Spring上下文及Axis2服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]Service 的实现类[/b]


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就发布好了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值