`

webService学习之cxf学习一

阅读更多
cxf的介绍

apache cxf 是 Celtix+XFire apache cxf的前身叫celtixFire,cxf继承了Celtix和Xfire的两大精华,并提供了对JAX-WS的全面支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。Apache CXF已经是一个正式的Apache顶级项目。CXF支持多种协议,如:SOAP、XML/HTTP、RESTful HTTP 、 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 、 JBI。CXF可以与Spring进行无缝集成。

CXF框架是基于Servlet的SOA应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Servlet 容器的支持。

CXF 下载地址:http://cxf.apache.org/download.html,选择“File”列中的zip格式下载。解压后可以看到一些文件夹:
└─apache-cxf-2.5.0

        ├─bin           各种工具
        ├─docs        API文档
        ├─etc          各种配置文件
        ├─lib           开发所需jar包
        ├─licenses  说明
        ├─modules  jar包

        └─samples  使用例子

下面通过一个demo介绍一下怎样发布webservice:

第一种:直接发布,不需要什么jar包,我是通过myeclispe直接创建的web项目,已经包含了jax-ws的包了

首先写一个接口--代码如下:记得写上@webService的注解
package test.wervice;

import javax.jws.WebService;

@WebService
public interface HelloWorld {
	void sayHi(String name);
}


然后写接口的实现类----代码如下:同样记得写上注解
package test.wervice.impl;

import javax.jws.WebService;

import test.wervice.HelloWorld;

@WebService(endpointInterface="test.wervice.HelloWorld")
public class HelloWorldImpl implements HelloWorld{

	public void sayHi(String name) {
		System.out.println("helloWorld"+name);
	}
}


最后写一个测试类来发布自己写的webservice 接口
package test.wervice;

import javax.xml.ws.Endpoint;

import test.wervice.impl.HelloWorldImpl;

public class serviceApp {
	public static void main(String[] args){
		System.out.println("start service");
		Endpoint.publish("http://localhost:8080/helloWorld", new HelloWorldImpl());
		System.out.println("end service");
	}
}


启动这个测试类,如图所示:



然后在浏览器中输入http://localhost:8080/helloWorld?wsdl来访问,结果如下:



这样 一个简单的webservice的发布就OK了,那服务端怎么调用呢?

这里采用cxf自带的wsdl2java来生成,步骤如下:
1,先下载cxf包,可以去apache官网下载
2,解压此包,并通过cmd命令进入到其bin目录下
3,采用wsdl2java命令生成客户端,
  命令如下:
wsdl2java -p org.logink.ws -d f:\logink\src -all http://localhost:8080/helloWorld?wsdl

4,其中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.
    这个我不是很理解,我后面就是wsdl这个地址
5.步骤的图片如下:







最后只需要把生成的这些.java文件放进你的client目录下就OK了,有的类可以不要的,我的结构是这样的



在自己可以写个测试类,好像也可以生成了,我是自己写的
public class TestClient {
	public static void main(String[] args){
	HelloWorldImplPortImpl impl = new HelloWorldImplPortImpl();
	impl.sayHi("lijie");
	}
}


测试结果如下:



就这样一个简单的发布和调用,下一篇再学学cxf与spring的结合发布,因为现在大部分都是 用的cxf和spring的发布
  • 大小: 158.1 KB
  • 大小: 137.6 KB
  • 大小: 45.9 KB
  • 大小: 9.7 KB
  • 大小: 79 KB
  • 大小: 6.8 KB
  • 大小: 34.7 KB
分享到:
评论

相关推荐

    webService(基于cxf)的完整例子

    1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache Axiom和Neethi等项目合并。CXF提供了一种从代码直接生成Web服务的方式,支持JAX-WS和JAX-RS标准,使得开发...

    Webservice接口,Cxf写的服务端

    Webservice接口,Cxf写的服务端, 是web项目,必须tomcat部署. 开发环境:32位jdk1.7+Cxf3.1.4+tomcat7, 开发工具:myeclipse8.5. 浏览器、客户端均可访问,测试通过。

    WebService CXF 详细教程

    **WebService CXF 详解** **一、WebService简介** WebService是一种基于标准的,可以在不同操作系统、编程...通过学习和实践CXF,开发者能够高效地构建和部署高质量的WebServices,实现企业间的系统集成和数据交换。

    WebService开发客户端 cxf方式

    总结,使用CXF开发WebService客户端是Java开发者常用的一种方式,它简化了客户端的构建过程,提供了丰富的功能和良好的扩展性。通过理解WSDL、生成客户端代码、配置服务地址以及利用CXF的高级特性,可以高效地完成与...

    WebService CXF学习文档

    做开发时,查了大量资料,发现一比较全面的资料,分享一下!...WebService CXF学习——高级篇(一)(二) 1.整合Spring框架 2.CXF+Spring+Hibernate 3.WS-Security WebService CXF学习——JAXB剖析

    webservice ssm+cxf服务端

    总的来说,"webservice ssm+cxf服务端"是一个利用SSM框架和CXF服务框架构建的Web Service应用,它实现了服务发布和调用的功能,适合于需要跨系统交互的场景。通过学习和实践这个项目,开发者可以深入理解SSM和CXF的...

    WebService技术手册 CXF&XFire

    CXF,全称Apache CXF,是一个开源的Java框架,用于构建和部署高质量的WebService。CXF集成了原本独立的XFire和Celtix项目,提供了一种全面的解决方案,支持SOAP、RESTful、JAX-RS和JAX-WS等服务风格。CXF的优势在于...

    webservice框架之CXF-详细技术参考

    Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目...Apache CXF已经是一个正式的Apache顶级项目。

    SpringBoot开发WebService之CXF示例

    在本文中,我们将深入探讨如何使用SpringBoot集成Apache CXF来开发Web服务。SpringBoot以其简洁的配置和快速的应用启动而...通过学习和实践这个示例,你将能熟练掌握SpringBoot与CXF的整合,为你的项目增添更多可能性。

    Webservice-CXF实用手册学习大全

    WebService-CXF实用手册学习大全的知识点涵盖了WebService技术的多个方面,主要分为以下几个部分: 1. WebService基础: - WebService是一种通过网络提供服务的技术,使用HTTP作为传输协议,SOAP作为消息格式,...

    WebService CXF 对象传递 附

    **WebService CXF 对象传递详解** 在Web服务领域,CXF是一个非常重要的开源框架,它允许开发者创建和消费各种Web服务。CXF支持SOAP、RESTful等多种通信模式,并且能够处理复杂的对象传递,使得Web服务的数据交换...

    webservice cxf_demo

    【标题】"webservice cxf_demo" 涉及到的是使用Apache CXF框架创建的Web服务示例项目。在Web服务的世界里,CXF是一个流行的开源工具,它支持SOAP和RESTful风格的服务,用于构建和消费Web服务。这个"CXF_demo"很可能...

    WebService之CXF(一、服务端的使用)

    **WebService之CXF服务端使用详解** 在信息技术领域,WebService是一种基于开放标准的,用于不同系统间进行数据交换的技术。Apache CXF是一个流行的开源框架,它使得开发和部署Web服务变得简单而高效。本篇文章将...

    webservice_cxf Demo

    总结来说,"webservice_cxf Demo" 是一个学习 Apache CXF 开发 Web 服务的实践项目,涵盖了从服务定义、实现、部署到客户端调用的全过程。通过这个示例,开发者可以深入理解 CXF 的工作原理和使用方法,为构建自己的...

    webservice-cxf-spring-jar.zip

    1. **Apache CXF**:CXF是一个开源的服务框架,它允许开发人员通过多种协议(如SOAP、REST)来创建和消费Web服务。CXF支持JAX-WS和JAX-RS规范,提供了丰富的API和工具,使得开发Web服务变得简单。 2. **Spring框架*...

    java+Webservice开发(CXF)

    1. **CXF简介**:CXF全称为CXF - XFire + XRI Services,是一个全面的Web服务框架,它不仅支持服务的创建,还支持服务的消费。CXF提供了多种协议的支持,如HTTP、JMS、JBI等,同时支持SOAP、REST、XML和JSON等多种...

    Webservice接口,Cxf写的客户端

    Webservice接口,Cxf写的客户端, 是java项目,直接main方法运行. 开发环境:32位jdk1.7+Cxf3.1.4+tomcat7, 开发工具:myeclipse8.5. 成功访问服务端,并传送参数。测试通过。

    WebService_CXF范例.

    为了更好地理解CXF的工作原理,通常会通过一个简单的"HelloWorld"示例来开始学习。首先,你需要从Apache官方网站下载CXF的最新版本,然后在Java项目中引入必要的依赖库。接着,你可以编写服务端和客户端代码,通过...

    springboot整合CXF发布webservice和客户端调用

    Apache CXF是一个开源的Web服务框架,支持SOAP、RESTful等不同风格的服务。它允许开发者以Java注解或XML方式定义服务接口,并提供了丰富的客户端和服务端工具。 3. **整合过程** - 首先,我们需要在`pom.xml`中...

    webservice之cxf实例

    【描述】:在这个“webservice之cxf实例”中,我们将深入学习Apache CXF框架在实现Web服务中的具体操作。首先,我们需要了解CXF的基本概念,它作为一个服务端和客户端的栈,支持多种协议和标准,包括SOAP、RESTful、...

Global site tag (gtag.js) - Google Analytics