`
jie2workjava
  • 浏览: 151152 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

cxf+spring

阅读更多

cxf+spring

 

spring的配置文件,我分为两个,一个放基本配置,一个webserivce的配置

 

applicationContext.xm

<?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:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<!-- 
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation" value="classpath:hibernate.cfg.xml">
		</property>
	</bean>
	 -->
	<!-- service -->
	<bean id="testService" class="com.ycr.service.impl.TestServiceImpl"></bean>
	<!-- 
	<bean id="testAction" class="com.ycr.web.TestAction">
		<property name="ts" ref="testService"></property>
	</bean>
	 -->
</beans>

 ws-user.xml

 

<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://www.springframework.org/schema/beans 
        				   http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
        				   http://cxf.apache.org/jaxws 
        				   http://cxf.apache.org/schemas/jaxws.xsd"
      default-autowire="byName" default-lazy-init="false" >
    
	<!-- Import Apache CXF Bean Definition -->
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
    
	<!-- web service的spring配置  address为url serviceClass接口类-->
    <jaxws:server id="eTestService" 
    			  serviceClass="com.ycr.service.TestService" 
        		  address="/eTestService">
        <jaxws:serviceBean>
             <!-- service bean的id -->
            <ref bean="testService"/>
        </jaxws:serviceBean>
    </jaxws:server>
	

</beans>

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">
	<!-- 配置spring配置文件路径 ,webservice配置文件路径-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath*:applicationContext.xml;
			classpath*:ws-user.xml;
		</param-value>
	</context-param>
	<!-- spring监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!-- web service servlet -->
	<servlet>
		<display-name>CXF Servlet</display-name>
		<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>/ws/*</url-pattern>
	</servlet-mapping>
	<!-- struts2过滤器 
	<filter>
		<filter-name>str21</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>str21</filter-name>
		<url-pattern>*.jsp</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>str21</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>
	-->
	
	
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 

 TestService.java  服务接口

package com.ycr.service;

import javax.jws.WebService;

import com.ycr.entity.TestTSEntity;

/**
 * 接口
 * @author hejie
 */
@WebService  //必须加的标签
public interface TestService {
	public String sayHello(String name);
	public TestTSEntity callEntity(Integer id)throws Exception;
}

 

TestServiceImpl.java接口实现类

package com.ycr.service.impl;

import javax.jws.WebService;

import com.ycr.entity.TestTSEntity;
import com.ycr.service.TestService;

/**
 * 服务实现类
 * @author hejie
 */
@WebService  //必须加的标签
public class TestServiceImpl implements TestService {

	public String sayHello(String name){
		return "Hello "+name;
	}
	public TestTSEntity callEntity(Integer id)throws Exception{
		//实体类
		TestTSEntity tse = new TestTSEntity(id,"th");
		return tse;
		
	}
}

 

实体类

public class TestTSEntity {
	private Integer id;
	private String name;

 

 

ok了。。。http://192.168.102.33:8080/项目名/ws 访问试一试

 

客服端

1.实体类TestTSEntity.java

public class TestTSEntity {
	private Integer id;
	private String name;

2. 服务接口

跟服务器的一样。包可以随意

 

3.spring配置文件

<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://www.springframework.org/schema/beans 
        				   http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
        				   http://cxf.apache.org/jaxws 
        				   http://cxf.apache.org/schemas/jaxws.xsd" default-autowire="byName" default-lazy-init="true" >


    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

    <jaxws:client id="TestService"  
       serviceClass="com.client.service.TestService"  
        address="http://192.168.102.33:8080/tsws/ws/eTestService">   
    </jaxws:client>   
</beans>

 4.测试类

public static void main(String a[]) throws Exception{
		Date be = new Date();
		ApplicationContext app = new ClassPathXmlApplicationContext("applactionContext.xml");
		TestService ts = (TestService)app.getBean("TestService");
		System.out.println(new Date().getTime() - be.getTime());
		System.out.println(ts.sayHello("world"));
		TestTSEntity tse1 = ts.callEntity(1);
		TestTSEntity tse2 = ts.callEntity(3);
		System.out.println(tse1.getId()+"   "+tse1.getName());
		System.out.println(tse2.getId()+"   "+tse2.getName());
	}

 

不用spring的情况

	public static void main(String a[]) throws Exception{
		Date be = new Date();
		ClientProxyFactoryBean factory = new ClientProxyFactoryBean();  
		factory.setServiceClass(TestService.class);   
		factory.setAddress("http://192.168.102.33:8080/tsws/ws/eTestService");   
		Object obj = factory.create();   
		System.out.println(obj);
		TestService ts = (TestService)obj;
		System.out.println(new Date().getTime() - be.getTime());
		System.out.println(ts.sayHello("world"));
		TestTSEntity tse1 = ts.callEntity(1);
		TestTSEntity tse2 = ts.callEntity(3);
		System.out.println(tse1.getId()+"   "+tse1.getName());
		System.out.println(tse2.getId()+"   "+tse2.getName());
	}

 

分享到:
评论

相关推荐

    cxf+spring实现webservice

    在IT行业中,开发Web服务是常见的需求,而CXF和Spring框架的结合为开发者提供了一种高效、灵活的方式来实现Web Service。本篇将深入探讨如何利用CXF和Spring来创建、部署和消费Web Service。 CXF,全称CXF Commons ...

    CXF+SPRING例子

    【CXF+SPRING例子】是一个关于如何将Apache CXF与Spring框架整合的示例项目。Apache CXF是一个开源服务框架,它允许开发者创建和消费Web服务,而Spring框架则是Java应用开发的强大支撑,提供了依赖注入、AOP(面向切...

    cxf+spring+client

    在这个"**cxf+spring+client**"的主题中,我们将深入探讨CXF与Spring框架结合创建客户端服务的细节,以及如何利用Spring MVC来增强应用程序的交互性。 首先,让我们关注CXF。CXF允许开发者使用Java编程语言来定义和...

    cxf+spring webservice demo client

    【标题】:“cxf+spring webservice demo client” 在IT领域,Web服务是一种常见的系统间交互方式,它允许不同应用程序之间共享数据和服务。本示例是关于如何使用Apache CXF和Spring框架创建一个Web服务客户端的...

    cxf+spring+tomcat

    【标题】"cxf+spring+tomcat"的组合是一个常见的Web服务开发环境,它将Apache CXF(一个用于构建和消费Web服务的开源框架)与Spring框架(一个广泛使用的Java企业级应用开发框架)以及Tomcat(一个流行的轻量级Java...

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...

    cxf+spring整合

    "CXF+Spring整合"是企业级Java应用程序中常用的一种技术组合,它结合了Apache CXF(一个用于构建和服务导向架构的开源框架)和Spring框架的优势,以实现高效、灵活的服务开发和管理。在Java世界里,CXF常用于创建Web...

    cxf+spring 完全整合

    代码是我一行行敲的,直接部署就能用,service,client端实现了:(cxf用的是3.0最新的) 1维数组, 2维数组, 3维数组, List, List , Map(adapter方式实现的), 直接返回bean, 返回object[], 做了header的安全认证校验.

    CXF2.1.3+spring3.0+struts2.3.4

    【标题】"CXF2.1.3+spring3.0+struts2.3.4" 描述了集成这三大框架实现Web服务的场景。CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。Spring是Java企业级应用的核心框架,提供了依赖注入和面向切面...

    CXF+Spring 完整版例子

    【标题】"CXF+Spring 完整版例子"是一个示例项目,它演示了如何在Spring框架中集成Apache CXF来构建一个完整的Web服务应用。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种不同类型的Web服务,包括SOAP...

    cxf+spring webservice server demo

    【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...

    cxf+spring所需的jar包

    在Java企业级应用开发中,CXF和Spring框架的整合是常见的实践,它们共同构建了高效、灵活的服务层。CXF是一个开源的Web服务框架,它支持SOAP、RESTful等多种Web服务标准,而Spring框架则提供了强大的依赖注入、事务...

    cxf+spring的webservice实例

    CXF是一个流行的开源框架,专门用于构建和消费Web服务,而Spring则是一个强大的Java应用程序框架,常用于管理和配置服务。本实例将详细介绍如何使用CXF和Spring结合来创建一个Web服务。 1. **CXF简介**: CXF全称...

    cxf+spring使用经验

    【cxf+spring 使用经验】 Apache CXF 是一个开源的 Web 服务框架,它整合了 Celtix 和 XFire 两大项目的优势,提供了全面的 JAX-WS 支持,允许开发者通过 Code First 或 WSDL First 的方式来创建和消费 Web 服务。...

    cxf+spring开发webservice实例(java)

    web项目使用spring和cxf的一个开发实例,有简单的代码样例和jar。是一个完整的项目,最终发布完成时访问 http://ip:port/项目名称/webservices/ 就会发现你发布的webservice服务。

    cxf+Spring2.5

    【标题】"cxf+Spring2.5" 指的是使用Apache CXF框架与Spring 2.5版本进行集成的示例项目。Apache CXF是一个开源服务框架,它允许开发人员创建和消费Web服务,而Spring框架则是一个广泛使用的Java企业级应用的IOC...

    CXF+Spring+Tomcat发布WebService

    【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...

    cxf+spring 无包

    【标题】"CXF+Spring 无包"指的是在不依赖特定打包工具(如Maven或Gradle)的情况下,利用Apache CXF和Spring框架构建Web服务的实例。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种Web服务,包括SOAP和...

    cxf+spring接口实例

    它结合了Apache CXF和Spring框架,提供了一种高效、灵活的方式来创建、发布和调用Web服务。本教程将通过一个具体的"CXF+Spring接口实例"来探讨如何使用这两种技术实现Web服务并进行测试。 首先,让我们理解CXF的...

    基于maven的cxf+spring简单demo

    【标题】"基于maven的cxf+spring简单demo"是一个示例项目,它演示了如何结合Apache CXF和Spring框架来构建一个简单的Web服务。Apache CXF是一个开源的Java框架,主要用于创建、部署和管理Web服务。而Spring是另一个...

Global site tag (gtag.js) - Google Analytics