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());
}
分享到:
相关推荐
在IT行业中,开发Web服务是常见的需求,而CXF和Spring框架的结合为开发者提供了一种高效、灵活的方式来实现Web Service。本篇将深入探讨如何利用CXF和Spring来创建、部署和消费Web Service。 CXF,全称CXF Commons ...
【CXF+SPRING例子】是一个关于如何将Apache CXF与Spring框架整合的示例项目。Apache CXF是一个开源服务框架,它允许开发者创建和消费Web服务,而Spring框架则是Java应用开发的强大支撑,提供了依赖注入、AOP(面向切...
在这个"**cxf+spring+client**"的主题中,我们将深入探讨CXF与Spring框架结合创建客户端服务的细节,以及如何利用Spring MVC来增强应用程序的交互性。 首先,让我们关注CXF。CXF允许开发者使用Java编程语言来定义和...
【标题】:“cxf+spring webservice demo client” 在IT领域,Web服务是一种常见的系统间交互方式,它允许不同应用程序之间共享数据和服务。本示例是关于如何使用Apache CXF和Spring框架创建一个Web服务客户端的...
【标题】"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...
"CXF+Spring整合"是企业级Java应用程序中常用的一种技术组合,它结合了Apache CXF(一个用于构建和服务导向架构的开源框架)和Spring框架的优势,以实现高效、灵活的服务开发和管理。在Java世界里,CXF常用于创建Web...
代码是我一行行敲的,直接部署就能用,service,client端实现了:(cxf用的是3.0最新的) 1维数组, 2维数组, 3维数组, List, List , Map(adapter方式实现的), 直接返回bean, 返回object[], 做了header的安全认证校验.
【标题】"CXF2.1.3+spring3.0+struts2.3.4" 描述了集成这三大框架实现Web服务的场景。CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。Spring是Java企业级应用的核心框架,提供了依赖注入和面向切面...
【标题】"CXF+Spring 完整版例子"是一个示例项目,它演示了如何在Spring框架中集成Apache CXF来构建一个完整的Web服务应用。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种不同类型的Web服务,包括SOAP...
【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...
在Java企业级应用开发中,CXF和Spring框架的整合是常见的实践,它们共同构建了高效、灵活的服务层。CXF是一个开源的Web服务框架,它支持SOAP、RESTful等多种Web服务标准,而Spring框架则提供了强大的依赖注入、事务...
CXF是一个流行的开源框架,专门用于构建和消费Web服务,而Spring则是一个强大的Java应用程序框架,常用于管理和配置服务。本实例将详细介绍如何使用CXF和Spring结合来创建一个Web服务。 1. **CXF简介**: CXF全称...
【cxf+spring 使用经验】 Apache CXF 是一个开源的 Web 服务框架,它整合了 Celtix 和 XFire 两大项目的优势,提供了全面的 JAX-WS 支持,允许开发者通过 Code First 或 WSDL First 的方式来创建和消费 Web 服务。...
web项目使用spring和cxf的一个开发实例,有简单的代码样例和jar。是一个完整的项目,最终发布完成时访问 http://ip:port/项目名称/webservices/ 就会发现你发布的webservice服务。
【标题】"cxf+Spring2.5" 指的是使用Apache CXF框架与Spring 2.5版本进行集成的示例项目。Apache CXF是一个开源服务框架,它允许开发人员创建和消费Web服务,而Spring框架则是一个广泛使用的Java企业级应用的IOC...
【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...
【标题】"CXF+Spring 无包"指的是在不依赖特定打包工具(如Maven或Gradle)的情况下,利用Apache CXF和Spring框架构建Web服务的实例。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种Web服务,包括SOAP和...
它结合了Apache CXF和Spring框架,提供了一种高效、灵活的方式来创建、发布和调用Web服务。本教程将通过一个具体的"CXF+Spring接口实例"来探讨如何使用这两种技术实现Web服务并进行测试。 首先,让我们理解CXF的...
【标题】"基于maven的cxf+spring简单demo"是一个示例项目,它演示了如何结合Apache CXF和Spring框架来构建一个简单的Web服务。Apache CXF是一个开源的Java框架,主要用于创建、部署和管理Web服务。而Spring是另一个...