源码下载地址: http://dl.dbank.com/c0vhvbrxlr
本文来自我的CSDN博客,转载请标明出处:http://blog.csdn.net/cuiran/archive/2010/12/02/6049645.aspx
一.开发环境
我的开发环境是:
MyEclipse 6.5
Tomcat 6.0
Apache cxf-2.3.0 下载地址: http://www.apache.org/dist/cxf/2.3.0/
二.开发步骤
创建Server
1. 将下载的cxf-2.3.0 解压。然后在MyEclipse里面添加一个
User Library名字叫library-cxf-2.3.0 把 lib下的包都添加进去。
2.新建一个Web工程cxfdemo,并添加library-cxf-2.3.0,然后建个com.demo包。在包里面创建HelloWorld接口
代码如下
view plaincopy to clipboardprint?
/**
* HelloWorld.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 Dec 2, 2010 9:47:44 AM
*/
package com.demo;
import javax.jws.WebService;
/**
* @author 崔冉
* @version 1.0.0
* @desc 接口HelloWorld
*/
@WebService
public interface HelloWorld {
String sayHi(String text);
}
/**
* HelloWorld.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 Dec 2, 2010 9:47:44 AM
*/
package com.demo;
import javax.jws.WebService;
/**
* @author 崔冉
* @version 1.0.0
* @desc 接口HelloWorld
*/
@WebService
public interface HelloWorld {
String sayHi(String text);
}
再创建一个类实现HelloWorld接口
view plaincopy to clipboardprint?
/**
* HelloWorldImpl.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 Dec 2, 2010 9:49:17 AM
*/
package com.demo;
import javax.jws.WebService;
/**
* @author 崔冉
* @version 1.0.0
* @desc 实现HelloWorld接口
*/
@WebService
public class HelloWorldImpl implements HelloWorld {
/**
*
*/
public String sayHi(String text) {
return "Hi,"+text;
}
}
/**
* HelloWorldImpl.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 Dec 2, 2010 9:49:17 AM
*/
package com.demo;
import javax.jws.WebService;
/**
* @author 崔冉
* @version 1.0.0
* @desc 实现HelloWorld接口
*/
@WebService
public class HelloWorldImpl implements HelloWorld {
/**
*
*/
public String sayHi(String text) {
return "Hi,"+text;
}
}
然后修改web.xml里面内容
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/beans.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-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>
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/beans.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-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>
在WEB-INF下面创建一个beans.xml
代码如下
view plaincopy to clipboardprint?
<?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/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://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" />
<jaxws:endpoint id="helloWorld" implementor="com.demo.HelloWorldImpl" address="/HelloWorld" />
</beans>
<?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/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://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" />
<jaxws:endpoint id="helloWorld" implementor="com.demo.HelloWorldImpl" address="/HelloWorld" />
</beans>
将Web工程发布到Tomcat里面,然后启动Server
创建Client
接着创建客户端,在com.demo下面创建client-beans.xml。内容如下
view plaincopy to clipboardprint?
<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">
<bean id="client" class="com.demo.HelloWorld"
factory-bean="clientFactory" factory-method="create" />
<bean id="clientFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.demo.HelloWorld" />
<property name="address" value="http://127.0.0.1:8080/cxfdemo/HelloWorld" />
</bean>
</beans>
<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">
<bean id="client" class="com.demo.HelloWorld"
factory-bean="clientFactory" factory-method="create" />
<bean id="clientFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.demo.HelloWorld" />
<property name="address" value="http://127.0.0.1:8080/cxfdemo/HelloWorld" />
</bean>
</beans>
在创建测试类Client.java
view plaincopy to clipboardprint?
/**
* Client.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 Dec 2, 2010 9:53:30 AM
*/
package com.demo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author 崔冉
* @version 1.0.0
* @desc 测试类
*/
public class Client {
public static Client self = new Client();
private HelloWorld client = null;
private Client() {
// START SNIPPET: client
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[]{"com/demo/client-beans.xml"});
client = (HelloWorld) context.getBean("client");
}
public HelloWorld getServer() {
return client;
}
public String getText(String text) throws Exception {
String response = getServer().sayHi(text);
return response;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println(self.getText("cuiran"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* Client.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 Dec 2, 2010 9:53:30 AM
*/
package com.demo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author 崔冉
* @version 1.0.0
* @desc 测试类
*/
public class Client {
public static Client self = new Client();
private HelloWorld client = null;
private Client() {
// START SNIPPET: client
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[]{"com/demo/client-beans.xml"});
client = (HelloWorld) context.getBean("client");
}
public HelloWorld getServer() {
return client;
}
public String getText(String text) throws Exception {
String response = getServer().sayHi(text);
return response;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println(self.getText("cuiran"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
然后进行测试运行。如果遇到类似这种错误“AXB 2.1 API is being loaded from the bootstrap classloader” 说明你的web工程添加了J2EE 1.4或者是1.5 library. 这样就与jaxb-api-2.2.1.jar
冲突了,只需删除即可。
最后运行如图
源码下载地址: http://dl.dbank.com/c0vhvbrxlr
本文来自我的CSDN博客,转载请标明出处:http://blog.csdn.net/cuiran/archive/2010/12/02/6049645.aspx
分享到:
相关推荐
1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache Axiom和Neethi等项目合并。CXF提供了一种从代码直接生成Web服务的方式,支持JAX-WS和JAX-RS标准,使得开发...
用camel-cxf调用webservice和发布一个webservice接口例子,首先启动QueryServiceMain主函数启动webservice接口,然后启动测试类TestWebservice。例子主要是实现java代码实现camel调用webservice接口
【标题】"cxf webService简单例子"是一个关于使用Apache CXF框架创建和消费Web服务的基础教程。Apache CXF是一个开源的Java框架,它允许开发者创建和实现符合各种Web服务标准(如SOAP、RESTful)的服务。这个例子将...
Apache CXF是一个开源的Web服务框架,支持SOAP、RESTful等不同风格的服务。它允许开发者以Java注解或XML方式定义服务接口,并提供了丰富的客户端和服务端工具。 3. **整合过程** - 首先,我们需要在`pom.xml`中...
本教程将基于CXF构建一个简单的Web服务,包括服务端和客户端的实现。我们将使用CXF提供的工具和服务接口来创建服务,然后通过客户端调用来验证服务的正确性。 ### 1. CXF简介 CXF是Apache软件基金会的一个项目,它...
Apache CXF 是一款开源的框架,专门用于构建和开发高质量、高性能的 Web 服务。它提供了丰富的工具和支持,包括对 SOAP、RESTful API、WS-* 规范的全面支持,以及与 Java EE 和 Spring 框架的紧密集成。通过 CXF,...
【标题】:“CXF Webservice例子” 【描述】:在IT行业中,Apache CXF是一个流行的开源框架,用于创建和消费Web服务。这个“cxf webservice例子”是开发者花费了一段时间研究并整理出的示例,旨在帮助学习者更好地...
在本例中,“webservice天气预报例子cxf实例”指的是使用Apache CXF框架实现的一个天气预报相关的Web服务示例。 Apache CXF是一个开源框架,它为开发和部署Web服务提供了全面的支持。CXF允许开发者通过Java编程模型...
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的...
在Java领域中,Apache CXF因其强大的功能和广泛的兼容性成为了构建WebService的首选框架之一。本文将通过具体的源码示例,详细介绍如何在Spring Boot环境中使用CXF来搭建一个简单的WebService服务端。 #### 二、...
使用 CXF 做 webservice 简单例子 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻...
当我们谈论"CXF3.0.9+SPRING开发webservice例子"时,这意味着我们将探讨如何结合这两个强大的工具来创建和消费Web服务。 首先,让我们深入了解CXF。Apache CXF是基于Java的,它支持多种Web服务标准,如SOAP、...
在给出的部分内容中,可以看出这个例子是一个基于Maven的Web应用项目,使用了CXF的多个模块,通过Maven的依赖管理来确保所有必要的组件都被正确引入。 总结起来,Apache CXF 是Java Web服务开发的重要工具,它简化...
在Web服务开发中,Apache CXF是一个广泛使用的开源框架,它提供了创建、部署和管理Web服务的强大功能。CXF不仅支持SOAP,还支持RESTful API,使得开发者能够灵活地选择适合项目需求的服务模型。同时,Spring框架作为...
【CXF实现的Web服务(WebService)例子Demo详解】 Apache CXF是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)的应用程序。它提供了丰富的API和工具,使得开发者能够轻松地创建和部署Web服务。CXF支持...
总的来说,"CXF Webservice Demo"是一个学习和实践使用Apache CXF创建和使用SOAP Web服务的好例子。它涵盖了从服务定义、实现到客户端调用的整个流程,对于理解和掌握CXF框架的功能和用法非常有帮助。通过这个示例,...
【标题】:“较完整的Webservice例子” 在IT领域,Web Service是一种基于开放标准(如XML、WSDL和SOAP)的,使得不同系统间能够通过网络进行互操作的技术。本资源提供了一个较为完整的Webservice实现案例,它可以...
Apache CXF是一个开源框架,专门用于构建和消费Web服务。本篇文章将深入探讨如何使用CXF来开发一个简单的“HelloWorld”Web服务实例。 首先,我们需要了解CXF的基本概念。CXF全称为CXF CXF (CXF on XFire),它整合...
【CXF实现Web服务详解】 Web服务是一种通过网络进行通信的软件系统,它允许...通过阅读提供的“开发基于CXF的RESTFul Webservice.txt”文档和使用“apache-cxf-2.4.2.zip”中的库,你可以深入了解并实践CXF的使用。
【标题】"cxf-demo 比较实用的webservice例子"揭示了这是一个关于Apache CXF框架的示例项目,用于演示如何创建和使用Web服务。Apache CXF是一个开源的Java框架,它允许开发者构建和消费各种Web服务,包括SOAP和...