此次整合是在原有的ssm项目的基础之上,所以在这里原来的ssm配置不在做讲解
1.导入cxf整合spring所需要的jar
2.编写服务接口的服务类.java文件
package com.crs.ticket.wanda.ticket.service; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.jws.WebParam; import javax.jws.WebService; import com.crs.ticket.wanda.ticket.entity.Student; import com.crs.ticket.wanda.ticket.mapper.StudentMapper; @WebService public class ticketServices { @Resource private StudentMapper studentmapper; public List<Student> findStudentInfoByStudNo(@WebParam(name="studentNo")String studentNo) { Map<String, Object> parms = new HashMap<String, Object>(); parms.put("stuNo", studentNo); return studentmapper.findTicketInfo(parms); } }
2.编写web.xml文件,配置wbservices发布服务类
<!-- 配置webservices发布服务类 --> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
3.修改spring配置文件spring-config,配置服务类和发布地址并注入服务类
<!-- webservices配置 --> <!-- 服务类 --> <bean id="ticket" class="com.crs.ticket.wanda.ticket.service.ticketServices"></bean> <!-- 发布服务,指定地址 --> <jaxws:server address="ticket"> <jaxws:serviceBean> <!-- 注入服务类 --> <ref bean="ticket"/> </jaxws:serviceBean> </jaxws:server>
这里需要注意一点:我们普通的ssm框架搭建的时候spring-config.xml文件是没有<jaxws>约束的,此约束我们需要手动添加进去
4.发布web项目到相应的web容器中,访问接口的wsdl
至此,一个简单的cxf整合spring发布webservices就成功了,具体细节根据项目要求略有变动