——欢迎访问rogerfan的博客,常来《JAVA——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下JAVA技术,交流工作经验,分享JAVA带来的快乐!本网站部分转载文章,如果有版权问题请与我联系。
首先在已完成的项目中加入webservice支持,如图
下一步
接下来选择xfire包
finish 完成。
这样在你的项目中会产生xfire的工具包,这里完全可以自己将所需要的包放入lib下。
由于我的原始项目是ssh的,这里就不再说了,接下来进行xfire配置。
首先web.xml
接下来在src下面建立xfire-servlet.xml
1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 3 "http://www.springframework.org/dtd/spring-beans.dtd"> 4<beans> 5 <!-- 引入XFire预配置信息 --> 6 <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> 7 <!-- 定义访问的url --> 8 <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 9 <property name="urlMap"> 10 <map> 11 <entry key="/webservices.ws"> 12 <ref bean="webservices" /> 13 </entry> 14 </map> 15 </property> 16 </bean> 17 18 <!-- 使用XFire导出器 --> 19 <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true"> 20 <!-- 引用xfire.xml中定义的工厂 --> 21 <property name="serviceFactory" ref="xfire.serviceFactory" /> 22 <!-- 引用xfire.xml中的xfire实例 --> 23 <property name="xfire" ref="xfire" /> 24 </bean> 25 26 <bean id="webservices" parent="baseWebService"> 27 <!-- 业务服务bean --> 28 <property name="serviceBean" ref="webservicesService" /> 29 <!-- 业务服务bean的窄接口类 --> 30 <property name="serviceClass" value="com.seavision.huayi2.service.IWebservice" /> 31 </bean> 32</beans> 33
这里说说为什么定义窄接口,原因xfire会导出spring整个接口,不能控制那些暴露给用户,这样做就不会将所有接口暴露给用户。
下来说说,在项目下生成的services.xml,这个里面是按照spring2.0的命名空间配置的,所以改写这个xml
1<?xml version="1.0" encoding="UTF-8"?> 2<beans> 3</beans>
这样就不会出错了。
这样启动Tomcat,如果启动时抛以下异常,则删掉发布后lib中的spring1.2版本,原因与spring2冲突
org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null"还有一些就不多说了。
服务器启动后,在项目名后面键入/services 则出现wsdl,另存为即可。
看看我的spring配置文件 ,和上面的xfire-servlet.xml对应起来。
service即实现类如下,此代码仅为本人项目代码,仅供参考,切勿抄送
实现类
dao层就不说了,到此完毕。
Powered by: BlogJava Copyright © rogerfan