CXF spring实例
1、服务器端
package cxf;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHello(String text) ;
}
package cxf;
import javax.jws.WebService;
@WebService
public class HelloWorldImpl implements HelloWorld {
public String sayHello(String text) {
return "55555555555555555555555" + text ;
}
}
spring-cxf.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://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxwshttp://cxf.apache.org/schemas/jaxws.xsd">
<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" />
<bean id="hello" class="cxf.HelloWorldImpl" />
<jaxws:endpoint id="helloWorld" implementor="cxf.HelloWorldImpl"
address="/ws" />
</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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-cxf.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2、客户端
package cxf;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHello(String text);
}
package cxf;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(System.getProperty("java.endorsed.dirs"));
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-cxf.xml");
HelloWorld client = (HelloWorld) ctx.getBean("cxfClient");
String result = client.sayHello("你好!");
System.out.println(result);
}
}
spring-cxf.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://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxwshttp://cxf.apache.org/schemas/jaxws.xsd">
<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" />
<bean id="cxfClient" class="cxf.HelloWorld"
factory-bean="clientFactory" factory-method="create" />
<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="cxf.HelloWorld" />
<property name="address" value="http://localhost:8080/ws" />
</bean>
</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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-cxf.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
注意:
1、发生如下错误时候
nested exception is java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
解决方法:
System.out.println(System.getProperty("java.endorsed.dirs"));能取得存放目录
将jaxb-api.jar包放到%{JAVA_HOME}\jre\lib\endorsed下即可,如果没有endorsed,则新建一个.这两个jar包我放提供在附件里
2、javamail异常:java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
解决方法:
D:\Program Files\MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710\data\libraryset\EE_5
javaee.jar包中的 mail和 activation
我将着两项删除了,我使用的是javaee5
问题被解决了
分享到:
相关推荐
本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介 CXF是一个开源的Java框架,专门用于构建和消费Web服务。它支持SOAP、RESTful等多种服务模型,并且可以方便地与Spring框架集成,...
【标题】"CXF Spring Maven 实例"是一个关于如何整合并使用这些技术创建Web服务的教程。CXF是一个开源框架,主要用于构建和部署SOAP和RESTful Web服务,Spring则是一个广泛应用的Java企业级开发框架,而Maven是项目...
本文将详细探讨"CXF&spring实例"中的相关知识点,包括服务端和客户端的实现,以及如何结合Spring进行配置。 首先,让我们了解一下CXF。CXF是一个开源的Java框架,主要用于构建和开发Web服务。它支持多种Web服务标准...
在这个“Spring CXF Restful实例”中,我们将深入探讨如何利用Spring CXF来创建RESTful API。REST(Representational State Transfer)是一种软件架构风格,常用于构建现代Web服务,强调简洁、无状态和基于标准的...
本教程将通过一个具体的"CXF+Spring接口实例"来探讨如何使用这两种技术实现Web服务并进行测试。 首先,让我们理解CXF的核心功能。CXF允许开发者使用Java编程语言来实现Web服务接口,这被称为Java API for RESTful ...
【标题】:在Java EE环境中,使用Apache CXF与Spring框架整合实现Web服务,返回List、Bean、String、JSON及XML的完整项目实例 【描述】:本项目旨在展示如何在Java企业级应用(Java EE)中,通过Apache CXF框架创建...
【标题】"CXF Spring Hello简单实例"是一个关于使用Apache CXF与Spring框架结合实现一个基本的RESTful服务的教程。Apache CXF是一个开源服务框架,它允许开发人员创建和消费各种Web服务,包括SOAP和RESTful风格。...
- **服务端集成**:Spring可以管理CXF的bean,例如WebService服务器实例、服务实现类等,通过Spring配置文件进行声明式配置,使得Web服务的启动和停止更加便捷。 - **客户端集成**:Spring也支持CXF的Web服务...
【标题】:“CXF开发实例2” 在Java世界中,CXF是一个开源的服务框架,它允许开发者创建和消费各种Web服务。本实例将深入探讨如何使用CXF进行Web服务客户端的开发,帮助开发者理解并掌握CXF的核心概念和技术。通过...
简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...
1. 配置Spring:创建一个Spring配置文件,定义CXF的Bus实例,并配置服务端点。 2. 创建服务接口:定义你的Web服务接口,通常是一个Java接口。 3. 实现服务接口:创建实现该接口的Java类,这里会包含实际的业务逻辑。...
在本教程中,我们将深入探讨如何使用Apache CXF 3.0与Spring 3.2框架构建一个简单的"Hello World" Web服务实例。这个过程涵盖了关键的技术组件、配置步骤以及可能遇到的问题解决策略。 首先,Apache CXF是一个开源...
【CXF结合Spring项目实例】是一个综合性的教程,旨在演示如何在Java开发环境中整合Apache CXF与Spring框架,实现高效、灵活的Web服务。Apache CXF是一个开源的Web服务框架,它支持SOAP、RESTful等多种服务风格,并且...
本实例将详细介绍如何使用CXF和Spring结合来创建一个Web服务。 1. **CXF简介**: CXF全称为Apache CXF,是一个开源的Web服务框架,它支持SOAP、RESTful等多种通信方式,并且能够生成和消费WSDL(Web服务描述语言)...
在本文中,我们将深入探讨如何使用Apache CXF 2与Spring 2.5框架来开发Web服务实例。Apache CXF是一个流行的开源项目,它提供了一种简单且强大的方式来实现和消费SOAP和RESTful Web服务。Spring框架则以其模块化、...
本文档是一份关于Apache CXF Web服务开发的实例教程,它详细描述了Web服务的创建、部署以及在早期版本CXF与Spring集成的技术细节。文档通过具体代码示例,提供了开发人员实现类似Web服务的参考。同时,涉及了Web服务...
**标题解析:** "cxf与Spring的整合实例(适合初学者)" 指的是一个教程或示例项目,旨在帮助初次接触CXF和Spring框架的开发者理解如何将这两个强大的开源工具集成在一起。CXF是一个流行的开源服务框架,常用于构建...
- 配置Spring上下文:在Spring配置文件中声明CXF的Bus实例,以及服务接口和服务实现类。这可以通过使用`<jaxws:endpoint>`或`<jaxrs:server>`标签来完成。 ```xml ``` - 使用Spring自动装配:通过`@...
1. **配置Spring**:在Spring配置文件中,我们需要定义CXF的Bus实例,这是CXF的核心组件,负责管理服务和客户端的生命周期。例如,我们可以使用`<cxf:bus>`标签来创建一个默认的Bus实例。 2. **定义服务接口和服务...
总的来说,"webservice使用cxf的实例"这个主题涵盖了从基础理论到实际操作的各个环节,包括CXF框架的使用、Web服务的创建与部署、客户端调用、数据绑定、安全性和Spring集成等多个方面。通过学习和实践,开发者可以...