Apache CXF 是一个Service框架,他简化了Service的创建, CXF实现了JAX-WS2.0规范,并通过了JAX-WS2.0 TCK; CXF和Spring无缝集成;CXF支持多种传输协议(HTTP, JMS, Corba等), 支持多种Binding数据格式(SOAP,XML,JSON等), 支持多种DataBinding数据类型(JAXB, Aegis) 。CXF基于Interceptor的架构,使得整个框架非常易于扩展。
二. 如何发布并调用简单的web service实例
2.2. 新建java project ,并加入apache-cxf-2.0.7\lib所有包,编写要发布的web service 接口和实现
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHello(String text);
}
import javax.jws.WebService;
@WebService(endpointInterface="test.HelloWorld")
public class HelloWorldImpl implements HelloWorld {
public String sayHello(String text) {
return "Hello" + text ;
}
}
@WebService 注解表示是要发布的web 服务
name:用于Interface,属映射到wsdl:portType element的name属性。
targetNamespace:用于Interface和implement,如果不指定,缺省会使用包名倒序做为wsdl名空间。
serviceName:用于implement,表示wsdl服务名。
portName:用于implement,表示wsdl:port 的name属性。
endpointInterface:用于implement,指定Interface全名,包括包名。
2.3.发布web service
public class Server {
protected Server() throws Exception {
System.out.println("Starting Server");
HelloWorldImpl implementor = new HelloWorldImpl();
Endpoint.publish(address, implementor);
}
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);
}
}
2.4.下面就开始创建一个客户端程序,访问这个web service, 同样新建java project ,并加入apache-cxf-2.0.7\lib所有包,由于CXF已经提供wsdl转化成java 的命令工具,所以创建一个build.xml,用来生成客户端程序。Bulid.xml内容如下:
<?xml version="1.0"?>
<project name="cxf wsdl2java" basedir=".">
<property name="cxf.home" location ="${basedir}/WebRoot/WEB-INF/"/>
<path id="cxf.classpath">
<fileset dir="${cxf.home}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="cxfWSDLToJava">
<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
<arg value="-client"/>
<arg value="-d"/>
<arg value="src"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
</target>
</project>
或者:配置环境变量%CXF_HOME%=E:\WebService\CXF\apache-cxf-2.1.1\apache-cxf-2.1.1(以我的目录为例),并在PATH后加上;%CXF_HOME%\bin
在cmd命令行中输入wsdl2java如果显示其用法表示配置好了。
其作用上面的build.xml作用一样。
附加:wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
2.5.调用web service
public class MyClient {
public static void main(String[] argv) {
HelloWorld hello = new HelloWorldImplService().getHelloWorldImplPort();
System.out.println(hello.sayHello("Tom") );
}
}
注意:运行时,要一定先要发布web sevice.
相关推荐
2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...
cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice客户端和服务器端。它提供了许多有用的功能,如自动生成服务桩、客户调用桩和WSDL文档等,使得开发webservice...
这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF开发基于Web服务的应用程序至关重要。在描述中提到“cxf-2.4.1整合spring3.0所用jar包”,这暗示了我们使用...
### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...
第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现?...CXF开发webservice: CXF入门程序 Spring+cxf整合(重点) CXF发布rest的webservice。(重点) 综合案例: 实现便民查询网站
最近用CXF开发webservice,发现老是报jar包的错误,但是又不能把所有从官网下载下来的都复制过来。官网下载的有好几十个呢,这是官网CXF的下载地址:http://cxf.apache.org/download.html。于是网上整理了一下,做个...
【标题】"02.CXF功能概述_CXF发展历史和使用CXF开发WebService服务器端"主要探讨了Apache CXF框架在Web服务领域的应用及其发展历程,同时也涵盖了如何利用CXF来构建一个高效的WebService服务器端。 Apache CXF是一...
【Apache CXF 开发 WebService 实践】 Apache CXF 是一款强大的开源框架,用于构建和部署 Web Services。CXF 允许开发者通过多种协议(如 SOAP、RESTful HTTP)暴露和消费服务,使得应用程序能够轻松地与其他系统...
1. 运行之前开发的 WebService 服务器(假设为 `CXF开发WebService服务器端`)。 2. 确保服务器已成功启动并监听指定端口。 **第四步:生成客户端代码** 1. 打开 Apache CXF 2.2.6 的 bin 目录。 2. 使用命令 `...
通过"使用CXF开发WebService.doc"文档,你将能更深入地了解如何具体操作这些步骤,包括详细的XML配置和代码示例。而"cxf-ws"可能是一个包含CXF相关配置和样例代码的文件夹,帮助你更好地理解和实践。 总结来说,...
总结来说,使用Apache CXF开发Webservice客户端涉及从获取WSDL、生成客户端代码、配置服务代理到实际调用服务的多个步骤。理解这些步骤以及CXF的特性,将有助于你高效地创建和维护Web服务客户端。
在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用...使用CXF开发WebService客户端.wmv"会更深入地展示这一过程,提供实际操作的步骤和示例,帮助你更好地理解和掌握这项技术。
在开发Web服务时,Apache CXF是一个非常强大的框架,它提供了与Spring的紧密集成,使得开发者可以方便地通过注解和Spring配置来暴露和消费Web服务。本篇内容将深入探讨如何使用CXF和Spring来创建和使用Web服务。 ...
本教程将基于"Spring+CXF开发WebService源代码"的主题,深入探讨如何利用这两者创建和消费Web服务。 首先,Spring是一个开源的应用框架,提供了一个全面的编程和配置模型,适用于Java应用程序。它为开发企业级应用...
总结,利用CXF开发Web服务客户端涉及了从生成客户端代码、创建实例到测试的整个流程。了解这些知识点,能够帮助我们更高效地构建和测试与Web服务交互的应用程序。在实际项目中,还需要根据具体需求进行相应的调整和...
标题中的"WebService框架CXF开发WebService需要的jar包"指的是在CXF项目中,我们需要依赖特定的JAR库来支持服务的开发、部署和运行。这些JAR文件包含了CXF框架的核心功能以及与Web服务相关的API和实现。在Apache CXF...
【标题】:“使用CXF开发Web Service初体验” 在Java世界中,开发Web Service是一项常见的任务,Apache CXF是一个强大的开源框架,它使得这个过程变得简单而高效。本篇文章将探讨如何利用CXF来创建和消费Web ...
【SOAP与CXF开发WebService】 本讲主要探讨了如何使用SOAP(Simple Object Access Protocol)和Apache CXF框架来开发Web服务。SOAP是一种基于XML的通信协议,它旨在解决互联网中分布式计算的互操作性问题,通过HTTP...
标题中的"CXF开发webservice需要的最少jar包"是指Apache CXF框架用于构建和消费Web服务所需的最小依赖集合。CXF是一个开源的Java框架,它允许开发者创建和部署SOAP和RESTful Web服务。这里提到的jar包是CXF运行时...