web service014——spring整合jaxws发布和调用CXF类型的webservice服务,拷贝服务端接口文件方式

Posted 江州益彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web service014——spring整合jaxws发布和调用CXF类型的webservice服务,拷贝服务端接口文件方式相关的知识,希望对你有一定的参考价值。

一、服务端

1.1、创建动态web工程,并导入cxf的jar包


1.2、接口及接口的实现

1.3、spring配置——applicationContent.xml配置文件的实现

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="http://cxf.apache.org/jaxws 
		http://cxf.apache.org/schemas/jaxws.xsd
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd">
   
	<!-- 
		address 		发布webservice的地址
		serviceClass 	发布的接口类
		class 			服务的实现类
	 -->
	<!-- 发布带接口的类 -->
	<jaxws:server id="getSignDataService" address="/getSignData" serviceClass="com.yuhang.service.GetSignDataService">
		<jaxws:serviceBean>
			<bean class="com.yuhang.serviceImpl.GetSignDataServiceImpl"></bean>
		</jaxws:serviceBean>
		
		<!-- 通过配置文件添加请求的消息拦截器 -->
		<jaxws:inInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
		</jaxws:inInterceptors>
		
		<!-- 通过配置文件添加请求的消息拦截器 -->
		<jaxws:outInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>
		</jaxws:outInterceptors>
	</jaxws:server>

</beans>

1.4、web.xml配置文件的实现

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 
id="WebApp_ID" version="4.0">
	<display-name>TCsignHandlerServer</display-name>
  
	<!-- web欢迎页面文件 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	
	<!-- 配置spring监听 -->  
	<listener>
 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
	    <param-name>contextConfigLocation</param-name>
	    <param-value>classpath:applicationContext.xml</param-value> 
	</context-param>
	
	<!-- 配置CXF -->
	<servlet>  
	    <servlet-name>CXFServlet</servlet-name>
	    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
	    <!-- 项目加载时创建 -->
	    <load-on-startup>1</load-on-startup> 
    </servlet>
    
     <servlet-mapping>
 	    <servlet-name>CXFServlet</servlet-name>
 	    <url-pattern>/*</url-pattern>
    </servlet-mapping>  
  
</web-app>

二、客户端

2.1、创建动态web工程,并导入cxf的jar包


2.2、拷贝服务端接口文件和spring的配置文件


其中接口文件不修改,只要修改spring的配置文件即可

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="http://cxf.apache.org/jaxws 
		http://cxf.apache.org/schemas/jaxws.xsd
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- 创建服务接口代理类对象 -->
	<jaxws:client 
		id="getSignDataService" 
		address="http://localhost:8080/TCsignHandlerServer/getSignData"
		serviceClass="com.yuhang.service.GetSignDataService">
	</jaxws:client>

</beans>

2.3、创建并编辑客户端测试文件

三、测试

启动服务端,不能关闭,运行客户端,就可以看到控制台打印客户端发送给服务端的信息

欢迎留言分享!!
感谢!!

以上是关于web service014——spring整合jaxws发布和调用CXF类型的webservice服务,拷贝服务端接口文件方式的主要内容,如果未能解决你的问题,请参考以下文章

10Web Service-IDEA-jaxrs 整合spring

5Web Service-整合CXF

整合Spring时Service层为什么不做全局包扫描详解

java web014——Spring JdbcTemplate

SSH(struts2+spring+hibernate)三大框架整合

spring整合struts2