风人园
弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……
在Spring集成XFire
XFire可以很好的集成到Spring中,Spring的代码已经做了这方面的集成。
首先,我们先创建我们的Web服务,采用接口和实现类的方式:
接口MathService.java:
package com.kuaff.xfire.samples;
public interface MathService
{
public long add(int p1, int p2);
}
实现类:
package com.kuaff.xfire.samples;
public class MathServiceImpl implements MathService
{
public long add(int p1, int p2)
{
return p1 + p2;
}
}
META-INF/xfire/service.xml文件可以省略了,因为web服务的定义在xfire-servlet.xml中可以找到。
下面要做的工具就是配置了。
在WEB-INF文件夹下创建applicationContext.xml文件,这是Spring的配置文件,如果你使用其他的Spring配置文件,可以将下面的bean添加到那个配置文件中:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
http://www.springframework.org/dtd/spring-beans.dtd
">
<beans>
<bean id="mathBean" class="com.kuaff.xfire.samples.MathServiceImpl"/>
</beans>
定义了mathBean,这个Bean就是我们的实现类,当然你也可以在这个文件中定义其他的需要Spring管理的bean。
在WEB-INF文件夹下创建xfire-servlet.xml文件,根据Spring规范,这个文件名起做xfire-servlet.xml,其中xfire是web.xml配置的DispatcherServlet的名称:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
http://www.springframework.org/dtd/spring-beans.dtd
">
<beans>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/MathService">
<ref bean="math"/>
</entry>
</map>
</property>
</bean>
<bean id="math" class="org.codehaus.xfire.spring.remoting.XFireExporter">
<property name="serviceFactory">
<ref bean="xfire.serviceFactory"/>
</property>
<property name="xfire">
<ref bean="xfire"/>
</property>
<property name="serviceBean">
<ref bean="mathBean"/>
</property>
<property name="serviceClass">
<value>com.kuaff.xfire.samples.MathService</value>
</property>
</bean>
</beans>
这个文件的上半部分将MathService这个URL和math这个bean联系在一起。下半部分定义了Web服务的bean和服务接口。其中mathBean是我们在applicationContext.xml中配置的那个Bean。
最后一步就是修改web.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"
http://java.sun.com/dtd/web-app_2_3.dtd
">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml
classpath:org/codehaus/xfire/spring/xfire.xml</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
需要注意这个文件的三个部分:
1. 在定义contextConfigLocation参数时一定要加上classpath:org/codehaus/xfire/spring/xfire.xml。
2. 定义listener: org.springframework.web.context.ContextLoaderListener
3. 定义DispatcherServlet: xfire
这样,你就可以访问
http://localhost:8080/xfire/MathService
来调用这个Web服务,也可以通过网址
http://localhost:8080/xfire/MathService?wsdl
来查看wsdl文档。
posted on 2006-07-03 16:42
风人园
阅读(509)
评论(0)
编辑
收藏
所属分类:
Spring
Powered by:
BlogJava
Copyright © 风人园
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(11)
给我留言
查看公开留言
查看私人留言
随笔分类
.Net(2)
(rss)
Android(9)
(rss)
Common(1)
(rss)
Eclipse/myEclipse(2)
(rss)
ECP(11)
(rss)
Ext(9)
(rss)
Hibernate(6)
(rss)
iBatis(3)
(rss)
J2EE
(rss)
Java(9)
(rss)
jBPM(10)
(rss)
jQuery(1)
(rss)
JSF(5)
(rss)
MQ(1)
(rss)
OperaMasks(4)
(rss)
PHP(2)
(rss)
Profiler(1)
(rss)
ROR(4)
(rss)
Ruby(2)
(rss)
Spring(6)
(rss)
SpringSecurity(3)
(rss)
Struts2(6)
(rss)
随笔档案
2018年3月 (3)
2017年5月 (1)
2016年12月 (5)
2016年11月 (4)
2014年3月 (1)
2013年6月 (1)
2012年4月 (2)
2012年2月 (1)
2011年11月 (1)
2011年9月 (2)
2011年8月 (1)
2010年12月 (2)
2009年12月 (1)
2009年11月 (2)
2009年9月 (3)
2009年8月 (19)
2009年6月 (4)
2009年4月 (1)
2008年10月 (1)
2008年7月 (1)
2008年3月 (5)
2008年2月 (1)
2008年1月 (6)
2007年12月 (3)
2007年7月 (2)
2007年6月 (1)
2007年5月 (11)
2007年4月 (5)
2007年1月 (6)
2006年12月 (1)
2006年7月 (1)
文章分类
AJAX(3)
(rss)
AP Server(1)
(rss)
Cache(3)
(rss)
CSS(1)
(rss)
DAO(4)
(rss)
Database(12)
(rss)
Design Pattern
(rss)
DotNet(10)
(rss)
Eclipse(7)
(rss)
Enterprise(1)
(rss)
iOS(1)
(rss)
J2EE(1)
(rss)
Java(47)
(rss)
JavaScript(10)
(rss)
JBoss(2)
(rss)
Linux(3)
(rss)
Open Source(5)
(rss)
Oracle(4)
(rss)
Other(1)
(rss)
PHP(1)
(rss)
Spring(13)
(rss)
Struts(11)
(rss)
SWT(1)
(rss)
Test(3)
(rss)
Web(27)
(rss)
Web Service(3)
(rss)
XML(1)
(rss)
感悟(1)
(rss)
生活(7)
(rss)
算法(2)
(rss)
文章档案
2018年3月 (1)
2014年3月 (1)
2012年7月 (1)
2011年11月 (1)
2010年7月 (1)
2010年6月 (1)
2009年9月 (1)
2009年8月 (1)
2009年6月 (1)
2009年5月 (1)
2009年4月 (4)
2008年10月 (1)
2008年7月 (1)
2008年4月 (1)
2008年3月 (1)
2008年2月 (2)
2008年1月 (2)
2007年12月 (4)
2007年11月 (3)
2007年10月 (3)
2007年9月 (8)
2007年8月 (1)
2007年7月 (2)
2007年6月 (1)
2007年5月 (8)
2007年4月 (2)
2007年3月 (14)
2007年2月 (5)
2007年1月 (12)
2006年12月 (24)
2006年11月 (1)
2006年9月 (1)
2006年8月 (1)
2006年7月 (35)
2006年6月 (31)
2006年4月 (1)
新闻档案
2015年10月 (1)
收藏夹
生活
(rss)
友情链接
中文爱百科
搜索
最新评论
1. re: JSF--ajax4jsf入门示例(repeater)[未登录]
dafdfa
--dd
2. re: eclipse网络连接代理设置
very good
--matz
3. re: SOP入门---第一個Spring AOP程式 [未登录]
非常感谢,我找的就是这个
--brave
4. re: Spring MVC异常处理(ZT)
写得可以哦。
--红泪
5. re: Spring MVC异常处理(ZT)
评论内容较长,点击标题查看
--类
阅读排行榜
1. eclipse中启动tomcat的时配置jvm参数(6258)
2. JSF--整合spring(6082)
3. hibernate 关联查询错误(Path expected for join)(4899)
4. Ext应用三 -- Tab(2)(4844)
5. hibernate 延迟加载的错误 failed to lazily initialize a collection of role(4798)
评论排行榜
1. springmodule整合spring jbpm配置(16)
2. Ext应用三 -- Tab(2)(5)
3. JSF--整合spring(3)
4. Rome使用入门(3)
5. jBPM之swimlane (2)