Spring集成XFire开发WebService
2009-12-22 23:11
246 查看
Spring是目前最流行的
JavaEE Framework,但是使用
Spring的
Spring-WS开发
WebService却十分繁琐。
XFire是一个简化
WebService开发的开源项目,通过
Spring和
XFire的结合可以大大简化基于
Spring Framework的应用中的
WebService开发。
Spring和
XFire可以通过多种方式结合,下文介绍的是笔者常用的一种简单而实用的方法。所用的
Spring版本为
2.0,XFire版本为
1.2.6。
1 配置
XFire Servlet
在
web.xml中加入如下配置:
<
servlet
>
<
servlet-name
>
XFireServlet
</
servlet-name
>
<
servlet-class
>
org.codehaus.xfire.spring.XFireSpringServlet
</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
XFireServlet
</
servlet-name
>
<
url-pattern
>
/servlet/XFireServlet/*
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
XFireServlet
</
servlet-name
>
<
url-pattern
>
/services/*
</
url-pattern
>
</
servlet-mapping
>
2
配置
Spring
的监听器,同基于
spring
的
Web
项目一样
Spring
的监听器是必不可少的。
<
context-param
>
<
param-name
>
contextConfigLocation
</
param-name
>
<
param-value
>
classpath:org/codehaus/xfire/spring/xfire.xml,
/WEB-INF/applicationContext.xml
</
param-value
>
</
context-param
>
<
listener
>
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
</
listener
>
以下是完整的
web.xml
配置文件
3
定义接口及实现服务
定义接口,这个接口中定义要通过
WebService
暴露的方法
package
org.ccsoft;
public
interface
HelloWS
{
public
String sayHello(String sb);
}
实现服务
package
org.ccsoft;
public
class
HelloWSImp
implements
HelloWS {
public
String sayHello
(String sb) {
//
TODO
Auto-generated method stub
return
"Hello "
+sb;
}
}
4
配置服务
将上文中实现的服务,加入到
spring
的配置文件中。
好了现在你可以通过
http://127.0.0.1:8080/XFireWS1/services/HelloWS?wsdl
来验证是否部署成功了。
JavaEE Framework,但是使用
Spring的
Spring-WS开发
WebService却十分繁琐。
XFire是一个简化
WebService开发的开源项目,通过
Spring和
XFire的结合可以大大简化基于
Spring Framework的应用中的
WebService开发。
Spring和
XFire可以通过多种方式结合,下文介绍的是笔者常用的一种简单而实用的方法。所用的
Spring版本为
2.0,XFire版本为
1.2.6。
1 配置
XFire Servlet
在
web.xml中加入如下配置:
<
servlet
>
<
servlet-name
>
XFireServlet
</
servlet-name
>
<
servlet-class
>
org.codehaus.xfire.spring.XFireSpringServlet
</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
XFireServlet
</
servlet-name
>
<
url-pattern
>
/servlet/XFireServlet/*
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
XFireServlet
</
servlet-name
>
<
url-pattern
>
/services/*
</
url-pattern
>
</
servlet-mapping
>
2
配置
Spring
的监听器,同基于
spring
的
Web
项目一样
Spring
的监听器是必不可少的。
<
context-param
>
<
param-name
>
contextConfigLocation
</
param-name
>
<
param-value
>
classpath:org/codehaus/xfire/spring/xfire.xml,
/WEB-INF/applicationContext.xml
</
param-value
>
</
context-param
>
<
listener
>
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
</
listener
>
以下是完整的
web.xml
配置文件
<? xml version = "1.0" encoding = "UTF-8" ?> < web-app version = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > < context-param > < param-name > contextConfigLocation </ param-name > < param-value > classpath:org/codehaus/xfire/spring/xfire.xml, /WEB-INF/applicationContext.xml </ param-value > </ context-param > < listener > < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class > </ listener > < servlet > < servlet-name > XFireServlet </ servlet-name > < servlet-class > org.codehaus.xfire.spring.XFireSpringServlet </ servlet-class > </ servlet > < servlet-mapping > < servlet-name > XFireServlet </ servlet-name > < url-pattern > /servlet/XFireServlet/* </ url-pattern > </ servlet-mapping > < servlet-mapping > < servlet-name > XFireServlet </ servlet-name > < url-pattern > /services/* </ url-pattern > </ servlet-mapping > </ web-app >
3
定义接口及实现服务
定义接口,这个接口中定义要通过
WebService
暴露的方法
package
org.ccsoft;
public
interface
HelloWS
{
public
String sayHello(String sb);
}
实现服务
package
org.ccsoft;
public
class
HelloWSImp
implements
HelloWS {
public
String sayHello
(String sb) {
//
TODO
Auto-generated method stub
return
"Hello "
+sb;
}
}
4
配置服务
将上文中实现的服务,加入到
spring
的配置文件中。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" 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.0.xsd"> <bean id="helloWS" class="org.ccsoft.HelloWSImp"/> <bean name="helloService" class="org.codehaus.xfire.spring.ServiceBean"> <property name="serviceBean" ref="helloWS"/> <property name="serviceClass" value="org.ccsoft.HelloWS"/> <property name="inHandlers"> <list> <ref bean="addressingHandler"/> </list> </property> </bean> <bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/> </beans>
好了现在你可以通过
http://127.0.0.1:8080/XFireWS1/services/HelloWS?wsdl
来验证是否部署成功了。
相关文章推荐
- XFire与Spring集成时WebService客户端的两种开发方式
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- 教你一步步用Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- 使用spring集成xfire开发webservice接口时的namespace和参数名称等配置
- spring中集成xfire开发webservice
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService
- Spring集成XFire开发WebService问题
- WebService开发实例 (Xfire+Spring+Hibernate)
- spring+xfire开发webservice
- CXF开发webservice需要的最少jar包以及CXF 和 Spring集成所需jar包
- xfire webservice spring 集成实例
- CXF开发webservice需要的最少jar包以及CXF 和 Spring集成所需jar包