开发基于xfire的webservice的两种方式

一. 经过MyEclipse工具,导入webservice库到web project或新建webservice工程。自动将普通的javabean(必需要以接口和实现类的方式出现)发布为webservice。在WebRoot下生成一个WebServices目录,目录下有一个services.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>GetUserInfo</name> <serviceClass> com.wltx.webservice.server.UserInfoInterfase </serviceClass> <implementationClass> com.wltx.webservice.server.UserInfoImpl </implementationClass> <style>wrapped</style> <use>literal</use> <scope>application</scope> </service></beans> 在web.xml文件中会自动配置 <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> 在浏览器输入访问路径+services,会出现一个wsdl的连接,成功。 【也能够利用Altova XMLSpy 工具,在soap中create new soap request,输入wsdl连接,配置参数,而后send,能够获得返回结果】 《注意: xfire1.2.6自带的是spring1.2.6,若是项目中有spring更高版本的jar文件,要删除掉,这点很差》 2、xfire和spring集成,好处:由spring容器管理,能够注入 service或DAO 修改上面工程: 一、 修改web.xml <servlet> <servlet-name>XFireServlet</servlet-name> <!-- 去掉工具生成,集成spring --> <!-- <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>--> <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> 二、 删除WebRoot下的WebServices目录 三、 若是是spring分散装备,新建application-webservice.xml 第一步添加: <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> 第二步: 将本身的service接口和实现类作配置 <bean id="getUserInfo" class="com.wltx.webservice.server.UserInfoImpl" singleton="true"> <property name="manageUserService"> <ref bean="manageUserService" /> </property> </bean> <bean name="GetUserInfoService" class="org.codehaus.xfire.spring.ServiceBean"> <property name="serviceBean" ref="getUserInfo"/> <property name="serviceClass" value="com.wltx.webservice.server.UserInfoInterfase"/> </bean>
相关文章
相关标签/搜索