java

位置:IT落伍者 >> java >> 浏览文章

Spring集成XFire开发WebService


发布日期:2021年03月15日
 
Spring集成XFire开发WebService

Spring是目前最流行的JavaEE Framework但是使用Spring的SpringWS开发WebService却十分繁琐XFire是一个简化WebService开发的开源项目通过Spring和XFire的结合可以大大简化基于Spring Framework的应用中的WebService开发

Spring和XFire可以通过多种方式结合下文介绍的是笔者常用的一种简单而实用的方法所用的Spring版本为XFire版本为

配置XFire Servlet

在webxml中加入如下配置

<servlet>

<servletname>XFireServlet</servletname>

<servletclass>

dehausxfirespringXFireSpringServlet

</servletclass>

</servlet>

<servletmapping>

<servletname>XFireServlet</servletname>

<urlpattern>/servlet/XFireServlet/*</urlpattern>

</servletmapping>

<servletmapping>

<servletname>XFireServlet</servletname>

<urlpattern>/services/*</urlpattern>

</servletmapping>

配置Spring的监听器同基于spring的Web项目一样Spring的监听器是必不可少的

<contextparam>

<paramname>contextConfigLocation</paramname>

<paramvalue>

classpath:org/codehaus/xfire/spring/xfirexml

/WEBINF/applicationContextxml

</paramvalue>

</contextparam>

<listener>

<listenerclass>

orgsprntextContextLoaderListener

</listenerclass>

</listener>

以下是完整的webxml配置文件

<?xml version= encoding=UTF?>

<webapp version=

xmlns=//java/xml/ns/jee

xmlns:xsi=instance

xsi:schemaLocation=

app__xsd

<contextparam>

<paramname>contextConfigLocation</paramname>

<paramvalue>

classpath:org/codehaus/xfire/spring/xfirexml

/WEBINF/applicationContextxml

</paramvalue>

</contextparam>

<listener>

<listenerclass>

orgsprntextContextLoaderListener

</listenerclass>

</listener>

<servlet>

<servletname>XFireServlet</servletname>

<servletclass>

dehausxfirespringXFireSpringServlet

</servletclass>

</servlet>

<servletmapping>

<servletname>XFireServlet</servletname>

<urlpattern>/servlet/XFireServlet/*</urlpattern>

</servletmapping>

<servletmapping>

<servletname>XFireServlet</servletname>

<urlpattern>/services/*</urlpattern>

</servletmapping>

</webapp>

定义接口及实现服务

定义接口这个接口中定义要通过WebService暴露的方法

package soft;

publicinterface HelloWS {

public String sayHello(String sb);

}

实现服务

package soft;

publicclass HelloWSImp implements HelloWS {

public String sayHello(String sb) {

// TODO Autogenerated method stub

returnHello +sb;

}

}

配置服务

将上文中实现的服务加入到spring的配置文件中

<?xml version= encoding=UTF?>

<beans xmlns=

xmlns:xsi=instance

xsi:schemaLocation=

beansxsd

<bean id=helloWS class=softHelloWSImp/>

<bean name=helloService class=dehausxfirespringServiceBean

<property name=serviceBean ref=helloWS/>

<property name=serviceClass value=softHelloWS/>

<property name=inHandlers

<list>

<ref bean=addressingHandler/>

</list>

</property>

</bean>

<bean id=addressingHandler class=dehausxfireaddressing

AddressingInHandler/>

</beans>

上一篇:Eclipse主要插件Lomboz介绍

下一篇:使用Eclipse IDE创建统一开发环境