spring与XFire webservice集成的问题

web.xml配置文件内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<!-- 配置 contextConfigLocation参数  spring加载时从指定位置加载配置文件   context 参数使用-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
		classpath:applicationContext-*.xml
		</param-value>
	</context-param>

	<!-- log4j上下文 加载log4j配置文件 -->
	<context-param>
	<param-name>log4jConfigLocation</param-name>
	<param-value>classpath:log4j.xml</param-value>
	</context-param>

	<!-- spring 加载管理      Listener-->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- log4j加载日志 -->

	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>

	<!-- 在线人员统计     Listener -->
	<listener>
		<listener-class>com.yjm.count.PersonSessionListener</listener-class>
	</listener>
	<!-- 使用spring实现转码  Filter进行 转码使用   Filter-->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- spring mvc 框架  配置入口  servlet 使用    Servlet -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 配置 spring_mvc载入文件 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc-servlet.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

	<!--
		xFire 配置信息 Servlet org.codehaus.xfire.spring.XFireSpringServlet
		org.codehaus.xfire.transport.http.XFireConfigurableServlet
	-->

	<servlet>
		<servlet-name>XFireServlet</servlet-name>
		<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
		<!-- 初始化参数 默认调用config 已配置 spring -->
		<init-param>
			<param-name>config</param-name>
			<param-value>services.xml</param-value>
		</init-param>
		<load-on-startup>0</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>XFireServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

	<!--欢迎页面 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

spring 管理xfire_bean文件

<?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">

   <import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>

	<!-- webservice 实现方法 -->

	<bean id="webservicetest" class="com.yjm.service.WebServiceImp"></bean>
	<!-- 管理 xFire内置  配置对象 -->
	<bean id="testws" class="org.codehaus.xfire.spring.ServiceBean">
		<!-- 访问名字 -->
		<property name="name">
			<value>ws</value>
		</property>
		<!-- 命名空间 -->
		<property name="namespace">
			<value>http://ws.namespace.com</value>
		</property>
		<!-- 提供服务接口类 注入 -->
		<property name="serviceClass">
			<value>com.yjm.service.WebServiceInterface</value>
		</property>
		<!-- 注入服务实现类 -->
		<property name="serviceBean">
			<!-- 实际服务实现类 -->
			<ref bean="webservicetest" />
		</property>
	</bean>
</beans>

注意集成xfire xfire的 services.xml文件 就已经不用了

<?xml version="1.0" encoding="UTF-8"?>
	<!--
		<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service
		xmlns="http://xfire.codehaus.org/config/1.0"></service> </beans>
	-->

web.xml里的xfire spring实现

org.codehaus.xfire.spring.XFireSpringServlet

已默认会从

classpath:org/codehaus/xfire/spring/xfire.xml

里 去加载管理bean

主要是在配置里已经添加 这个 Bean的扩展了

<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>

如果在 配置上下文为如下

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
		classpath:applicationContext-*.xml,
		classpath:org/codehaus/xfire/spring/xfire.xml
		</param-value>
	</context-param>

则会加载两遍xfire的管理 bean

=====================================================================

如果使用xfire的 这个servlet

org.codehaus.xfire.transport.http.XFireConfigurableServlet

则需要作如下修改:

web.xml

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
		classpath:applicationContext-*.xml,
		classpath:org/codehaus/xfire/spring/xfire.xml
		</param-value>
	</context-param>
services.xml
<?xml version="1.0" encoding="UTF-8"?>
	<!--
		<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service
		xmlns="http://xfire.codehaus.org/config/1.0"></service> </beans>
	-->
时间: 2024-11-05 18:39:23

spring与XFire webservice集成的问题的相关文章

菜鸟学习Spring——60s学会Spring与Hibernate的集成

一.概述. Spring与Hibernate的集成在企业应用中是很常用的做法通过Spring和Hibernate的结合能提高我们代码的灵活性和开发效率,下面我就一步一步的给大家讲述Spring如何和Hibernate集成的. 二.代码演示. 导入Hibernate的jar包 Hibernate-3.2/lib/*.jar Hibernate-3.2/hibernate3.jar 还有导入Spring的相关jar包 我用的数据库是MySql所以要导入MySql的驱动jar包: mysql-conn

spring+resteasy开发webservice服务

有一段时间没有更新博客,主要是最近一段时间自己比较迷茫,一直在思考自己以后的路该怎么走.希望大家也可以给我一些建议,谢谢!好了,回归正题,今天给大家带来的是spring+resteay开发webservice服务,不知道大家是否在这之前接触过webservice,我之前所了解的webservice是使用cxf还有axis2开发的,但是我觉得实现起来比较麻烦,而且不灵活,今天给大家介绍一种比较灵活的提供webservice服务的技术:resteasy.下面我重点讲解的resteasy常用的一些知识

Spring+SpringMvc+Mybatis框架集成搭建教程

一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼,网络上又没有很详细的讲解以及搭建的教程.闲来无事,我就利用空闲时间来写这样一个教程和搭建步骤,来帮助那些有问题的小伙伴,让你从此SSM搭建不再有问题. 二.教程目录 1.Spring+SpringMvc+Mybatis框架集成搭建教程一(项目创建) 2.Spring+SpringMvc+Mybat

搭建web项目结合spring+cxf的webservice服务

服务端: 服务端和客户端都需要引入包 1 antlr-2.7.7.jar 2 aopalliance-1.0.jar 3 asm-3.3.jar 4 commons-collections-3.2.1.jar 5 commons-lang-2.6.jar 6 commons-logging-1.1.1.jar 7 cxf-2.4.2.jar 8 cxf-manifest.jar 9 cxf-xjc-boolean-2.4.0.jar 10 cxf-xjc-bug671-2.4.0.jar 11

spring + cxf 的webservice服务端和客户端功能

原文:spring + cxf 的webservice服务端和客户端功能 源代码下载地址:http://www.zuidaima.com/share/1550463730928640.htm spring + cxf 的webservice服务端和客户端功能. 提供页面调用ws和java代码调用两种方式. 引用jar包请下载:http://pan.baidu.com/s/1jGog2WI

Spring Boot系列——如何集成Log4j2

上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack,Spring Boot还可以使用Log4j.Log42等作为自己的日志系统.今天就那Log4j2来举例,说明Spring Boot是如何集成其他日志系统的. 添加jar包依赖 上篇提到过,Spring Boot默认使用LogBack,但是我们没有看到显示依赖的jar包,其实是因为所在的jar包spring-

【ELK】3.spring boot 2.X集成ES spring-data-ES 进行CRUD操作 完整版

spring boot 2.X集成ES 进行CRUD操作  完整版 内容包括: ========================================================================================= 1.CRUD:单字段查询.复合查询.分页查询.评分查询 2.时间范围查询 3.GET方法传入时间类型解析不了的问题 4.term和match查询的区别 5.filter+query查询的区别 6.自定义ES的mapping,自定义setti

深入Spring Boot:快速集成Dubbo + Hystrix

背景Hystrix 旨在通过控制那些访问远程系统.服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力.Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以及监控和配置等功能.Dubbo是Alibaba开源的,目前国内最流行的java rpc框架.本文介绍在spring应用里,怎么把Dubbo和Hystrix结合起来使用.Spring Boot应用生成dubbo集成spring boot的应用配置spring-cloud-starter-netflix-hys

Spring与Web环境集成

1.Spring与Web环境集成 1.1自定义监听器将Spring集成到web环境 1_需求:将spring集成到web开发环境中,将所有的bean对象创建交给spring,除了servlet,servlet可以理解为一个测试类.在servlet中获取ApplicationContext,获取对应的bean 环境搭建,这个是自己一步步取实现的,其实spring有提供简单的方法完成1.1的操作 <!--在pom文件中引入所需的依赖--> <!--Spring坐标--> <dep