/**
**QQ:252574345
**MSN:lele_love_lomboz@hotmail.com
*/
使用CXF Simple FrontEnd Project,不需要在业务接口中设置具体的协议、@Web Service、@Web Method,仅仅需要创建与具体webservice技术无关的业务接口就可以了(真有点像SCA了,呵呵不恰当的对比)。利用代理类进行发布服务和获取服务
(工程文件附后下载)
1。业务接口
package demo.zhaoyl.server;
/**
* 业务接口
* 与wsdl first project 、java first project方式不同的是
* 这个业务接口仅仅是普通的java interface
* @author zhaoyl
*
*/
public interface HelloWorld
{
String sayHi(String name);
}
2。业务接口实现类
package demo.zhaoyl.server;
/**
* 业务接口实现类
* @author zhaoyl
*
*/
public class HelloWorldImpl implements HelloWorld {
/**
* 向客户端返回一个名字
*/
public String sayHi(String name) {
return "Hello " + name;
}
}
3。服务端
package demo.zhaoyl.server;
import org.apache.cxf.frontend.ServerFactoryBean;
/**
* 服务端
* @author zhaoyl
*
*/
public class Server {
protected Server() throws Exception
{
HelloWorldImpl helloworldImpl = new HelloWorldImpl();
ServerFactoryBean svrFactory = new ServerFactoryBean();
//设置服务接口类
svrFactory.setServiceClass(HelloWorld.class);
//address 也就是wsdl文件中的 <soap:address location="http://localhost:9000/Hello" />
svrFactory.setAddress("http://localhost:9000/Hello");
//在浏览器端通过http://localhost:9000/Hello?wsdl访问生成的wsdl文件
//设置服务实现接口类
svrFactory.setServiceBean(helloworldImpl);
//创建服务
svrFactory.create();
}
public static void main(String args[]) throws Exception {
new Server();
System.out.println("Server ready...");
Thread.sleep(5 * 60 * 1000);
System.out.println("Server exiting");
System.exit(0);
}
}
4。服务端
package demo.zhaoyl.client;
import demo.zhaoyl.server.HelloWorld;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
/**
* 客户端
* 仅仅需要一个与具体技术无关的java接口HelloWorld
* @author zhaoyl
*
*/
public final class Client {
private Client()
{
}
public static void main(String args[]) throws Exception
{
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
//设置已发布服务接口
factory.setServiceClass(HelloWorld.class);
//为客户端代理bean 设置已经发布的服务地址
factory.setAddress("http://localhost:9000/Hello");
//获取已发布服务接口实例
HelloWorld client = (HelloWorld)factory.create();
System.out.println("Invoke 远程服务接口方法sayHi()....");
//返回客户机器用户名称
System.out.println(client.sayHi(System.getProperty("user.name")));
System.exit(0);
}
}
启动服务
运行客户端
结果:
Invoke 远程服务接口方法sayHi()....
Hello zhaoyl
分享到:
相关推荐
在本文中,我们将探讨如何使用Apache CXF框架的Simple Frontend和Aegis绑定来发布和获取Web服务。这种方法提供了一种简洁的方式,无需过多的注解或特定于技术的接口,使得我们可以轻松地将任何类转换为Web服务。 1....
赠送jar包:cxf-rt-frontend-simple-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-simple-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-simple-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-...
赠送jar包:cxf-rt-frontend-jaxrs-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-jaxrs-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-jaxrs-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-jaxrs...
赠送jar包:cxf-rt-frontend-jaxws-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-jaxws-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-jaxws-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-jaxws...
cxf中会出现编码问题的cxf-rt-frontend-simple-3.1.13.jar的源码
本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...
cxf-rt-frontend-jaxws-3.0.16.jar jar包下载3.0.16版本下载
2. **自动扫描和发布**:在Spring配置中启用CXF的自动扫描功能,CXF会自动发现并发布实现服务接口的bean。 3. **Spring的WS配置**:使用Spring的`<jaxws:endpoint>`标签来声明式地配置Web服务,包括服务接口、实现...
当我们谈论“使用CXF发布WebService”时,我们实际上是在讨论如何利用Apache CXF框架创建和部署Web服务。Apache CXF是一个开源的Java框架,专门用于构建和消费Web服务,支持多种协议,如SOAP和RESTful。 首先,我们...
CXF前端(Frontend)是编程使用的API,用来开发和对外暴露Web Services。CXF提供两种类型的前端(Frontend):JAX-WS和简单前端(Simple Frontend)。本节将详细介绍JAX-WS前端。 JAX-WS前端 Code-First方式 创建...
本篇文章将深入探讨如何使用CXF的`EndpointImpl`类来发布一个WebService,并加入拦截器。 首先,我们要理解`EndpointImpl`是CXF框架用于构建和配置Web服务端点的核心类。通过实例化这个类,我们可以自定义服务的...
- 在SpringBoot主类中,使用`@EnableCxfRsServer`开启CXF支持,并配置服务地址。 - 对于客户端调用,可以使用CXF的`JaxWsProxyFactoryBean`创建服务代理对象,然后调用其方法进行服务调用。 4. **项目结构** - `...
本文将详细介绍使用JDK和CXF两种方式来开发WebService服务端。 一、JDK原生实现WebService(JAX-WS) 1. **JAX-WS概述**:Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。它...
**SpringBoot框架** SpringBoot是由Pivotal团队提供的全新框架,其设计目标是简化Spring应用...这两个部分可以作为学习和实践SpringBoot发布和消费Web服务的起点,帮助开发者深入理解SpringBoot与CXF的协同工作方式。
在IT行业中,Web服务是一种广泛使用的通信方式,它允许不同系统之间通过网络交换数据和执行功能。Apache CXF和camel-cxf是两个流行的开源框架,它们可以帮助开发者轻松地创建、消费和集成Web服务。本篇文章将详细...
例如,可以使用`@WebService`注解标记一个Java类为Web服务接口,并使用`@Path`注解来定义RESTful服务的URL路径。 4. **CXF服务部署**:CXF提供多种部署方式,包括独立服务器、Tomcat等应用服务器,以及Spring容器。...
总的来说,“使用CXF发布的WebService服务”涉及到以下几个关键步骤:定义服务接口和实现,配置CXF服务端点,部署服务,以及生成和使用客户端代理。通过这个“employeeServiceForCxf”示例,初学者可以清晰地了解到...
在Java世界中,Apache CXF是一个广泛使用的开源框架,它允许开发者创建和消费Web服务。CXF这个名字来源于“CXF = XFire + Celtix”,这两个项目在2006年合并成为了现在的CXF。本篇文章将详细介绍通过Apache CXF发布...
利用Apache CXF开发webservice接口需要用到的jar集合 cxf-core-3.0.15.jar cxf-rt-bindings-soap-3.0.15.jar cxf-rt-bindings-xml-3.0.15.jar cxf-rt-databinding-jaxb-3.0.15.jar cxf-rt-frontend-jaxws-3.0.15.jar...