1、开发环境:
cxf-2.3.3.jar
MyEclipse6.6
JDK1.5
Tomcat-5.5.27
2、 理论联系实际,现用一个 Demo来说明事更加直观。
新建一个WebService Project,导入cxf常用.jar包。
第一步:新建一个webservice接口, 接口IHelloService.java
package demo.cxf.server;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
//通过注解@WebService申明为webservice接口
public interface IHelloService {
//@WebParam给参数命名,提高可代码可读性
public String sayHello(@WebParam(name="text")String text);
}
第二步,实现WebService接口 实现类HelloServiceImpl.java
package demo.cxf.server;
import javax.jws.WebService;
@WebService(endpointInterface="demo.cxf.server.IHelloService",serviceName="helloService")
public class IHelloServiceImpl implements IHelloService {
public String sayHello(String text) {
return "Hello ".concat(text);
}
}
第三步,创建服务端
public class DeployServer {
private DeployServer(){
IHelloService helloService = new HelloServiceImpl();
//创建WebService服务工厂
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
//注册WebService接口
factory.setServiceClass(IHelloService.class);
//发布接口
factory.setAddress("http://localhost:9000/HelloService");
factory.setServiceBean(helloService);
//创建WebService
factory.create();
};
public static void main(String[] args) throws InterruptedException{
//启动服务端
new DeployServer();
System.out.println("Server ready...");
//休眠一分钟,便于测试
Thread.sleep(1000*60);
System.out.println("Server exit...");
System.exit(0);
}
}
第四步,创建客户端
public class Client {
private Client(){};
public static void main(String[] args){
//创建WebService客户端代理工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//注册WebService接口
factory.setServiceClass(IHelloService.class);
//设置WebService地址
factory.setAddress("http://localhost:8080/HelloService");
IHelloService iHelloService = (IHelloService)factory.create();
System.out.println("invoke webservice...");
System.out.println("message context is:"+iHelloService.sayHi("
Josen"));
System.exit(0);
}
}
现在是万事俱备,只欠测试了
首先,运行服务端程序
其次,打开浏览器,在地址栏中输入http://localhost:8080/HelloService?wsdl(因为cxf自带了一个jetty服务器),查看接口是否发布成功,如里浏览器页面显示一些XML,证明接口发布成功。
最后,运行客户端程序,就可以看到效果了。
分享到:
相关推荐
WebService CXF是一个强大的开源框架,用于创建和消费Web服务。它允许开发者基于WSDL(Web Service Description Language)文件快速地生成服务端和客户端代码,极大地简化了Web服务的开发流程。在本篇中,我们将深入...
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和...通过jar文件、API文档和示例,我们可以了解和实践如何使用CXF创建高效、灵活的Web服务,同时享受到Apache开源社区带来的便利和稳定性。
【标题】"webService-cxf-demo" 是一个基于Apache CXF框架实现的Web服务示例项目,主要用于展示如何创建和使用Web服务。CXF是一个开源的Java框架,它提供了多种方式来开发符合WS-*标准的Web服务,包括SOAP、RESTful ...
- **服务端实现**:Apache CXF提供了多种方式来创建服务端Web服务,包括基于Java接口的WsdlFirst(WSDL优先)方法和基于Java类的CodeFirst(代码优先)方法。 - **客户端支持**:CXF同样支持生成客户端代码,使得...
CXF提供了多种方式来创建和消费Web服务,包括基于Java API for RESTful Web Services (JAX-RS) 和 Java API for XML-Based Web Services (JAX-WS) 的接口。 标题“apache-cxf-2.5.0”表明这是一个关于Apache CXF的...
10. **社区支持**:作为Apache软件基金会的顶级项目,CXF拥有活跃的社区,提供了丰富的文档、示例和问题解答,帮助开发者快速上手并解决遇到的问题。 总的来说,"apache-cxf-2.6.2.tar.gz"是一个包含完整Apache CXF...
3. **示例**:通常会有示例代码和项目,演示如何使用CXF创建和消费Web服务。 4. **配置文件**:如cxf.xml,用于配置CXF的行为和设置。 要开始使用Apache CXF 2.0.10,开发者需要解压此压缩包,将库文件添加到项目中...
springboot+cxf实现webservice示例 <groupId>org.springframework.boot <artifactId>spring-boot-starter <groupId>org.springframework.boot <artifactId>spring-boot-starter-web <!-- CXF ...
在"apache-cxf-2.7.4"压缩包中,包含了框架的所有核心组件、文档、示例代码和库文件。开发者可以通过解压并导入这些文件到他们的开发环境中,开始构建和部署Web服务。这个版本虽然相对较旧,但仍然对于理解CXF的工作...
Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。...通过阅读和实践其中的示例,你可以深入理解Web服务的工作原理,掌握如何利用CXF工具生成和调用Web服务接口,进一步提升你的Java开发技能。
1. **Web服务实现**:CXF允许开发者通过Java编程模型来创建和消费Web服务。它支持多种Web服务规范,如SOAP、WS-*(如WS-Security、WS-Addressing)以及RESTful服务。 2. **多种绑定框架**:CXF支持JAX-WS(Java API...
4. **demos**:包含了一些示例应用程序,演示了如何使用CXF创建和消费Web服务,对于初学者来说,这是一个很好的起点。 5. **samples**:与demos类似,但通常更专注于特定的功能或用法,帮助开发者深入理解CXF的各种...
3. **示例**:可能包含了一些示例代码和配置,演示如何使用CXF创建和调用Web服务。 4. **配置文件**:例如CXF的配置文件,可以自定义服务的行为。 5. **工具**:可能包括一些命令行工具,用于生成客户端代码、部署...
SpringBoot与CXF WebService整合教程 在Java世界中,SpringBoot以其简洁的配置和快速的应用开发能力,已经成为主流的微服务框架。...在实际操作过程中,可参考`demo-spring-boot-cxf-master`中的示例代码进行实践。
7. **示例和文档**:压缩包中的"demo"可能包含一些示例项目,帮助开发者快速了解如何使用CXF来创建和消费Web服务。这些示例通常包括源代码和运行说明,是学习CXF的宝贵资源。 在实际应用中,你可以通过以下步骤使用...
【CXF WebService 开发指南】 CXF(Commons eXtensible Framework)是一个开源的Java框架,主要用于构建和开发Web服务。它提供了强大的服务实现和客户端调用能力,支持多种协议和规范,如JAX-WS、JAX-RS等。本指南...
2. **JAX-RS**:CXF也支持Java API for RESTful Web Services (JAX-RS),允许开发者用直观的方式创建RESTful服务。通过注解,可以轻松地将Java方法映射到HTTP请求,处理JSON、XML等多种数据格式。 3. **绑定框架**...
在解压"apache-cxf-3.4.4"后,你会得到源码、文档、示例以及构建工具等,这为开发者提供了全面了解和自定义Apache CXF的途径。通过学习和实践,你可以深入理解Web服务的实现原理,提升你的Java开发技能。
这个"apache-cxf-3.2.6.zip"压缩包包含了Apache CXF 3.2.6版本的所有组件和资源,使得开发者能够轻松地在Java环境中实现WebService接口开发。 Apache CXF的核心功能包括: 1. **SOAP支持**:CXF支持SOAP 1.1和1.2,...
- samples:可能包含CXF的示例代码和说明,帮助你快速上手。 - documentation:可能包含CXF的API文档和用户指南。 在使用这个绿色版时,你可以直接解压到任何地方,然后根据bin目录下的脚本或说明文件来启动和使用...