之前学习了使用jdk开发webservice服务,现在开始学习使用框架(cxf)开发webservice.

1、准备工作

A、使用cxf开发webservice服务,需要用到apache-cxf-3.0.10.jar的包,并需要将bin目录配置到环境变量中,如:d:\CXF\apache-cxf-3.0.10\bin

B、我使用的是eclips4.6.2

C、JDK要使用1.7以上版本

2、新建工程

2.1  New –》 Java Project  

2.2 引入相关jar包

3、写实现类

接口类:

package com.ws.usinterface;

import javax.jws.WebService;

@WebService
public interface HelloWorldService {
public String say();
public String read(String name);
}

接口实现 类:

package com.ws.usinterface;

import javax.jws.WebService;
/**
* 实现类中也需要用@WebService注解成服务类,并且需要指明实现了那个接口及 服务名,这个服务名是在url中访问使用
* @author Administrator
*
*/
@WebService(endpointInterface = "com.ws.usinterface.HelloWorldService",serviceName = "HelloWorld")
public class HelloWorldServiceImpl implements HelloWorldService {

@Override
public String say() {
System.out.println("Hello world");
return "Hello world";

}

@Override
public String read(String param) {
System.out.println(param+" say hello world");
return param+" say hello world";
}

}

注:

@WebService:这个注解之前已经讲了是用来将类注解为webservice服务的,这里再重复加强下记忆

endpintInterface:表示该实现类实现的接口,写完整类名 
serviceName     表示服务的名称,可以任意写

4、发布工程

public class Cxfpublich {
/**
* cxf也是采用EndPoint。publich()方法来发布服务的
* @param args
*/
public static void main(String[] args) {

HelloWorldService hw = new HelloWorldServiceImpl();
Endpoint.publish("http://localhost:8089/HelloWorld",hw);

System.out.println("Web Service发布成功!");
}

}

5、 测试服务 
 服务地址+”?wsdl” http://localhost:8089/HelloWorldWS?wsdl

打开链接后,显示相应的xml,则成功

客户端

1 新建一工程

2 使用工具生成客户端代码

在命令窗口定位到客户端项目的src目录下,通过工具wsdl2java 服务地址(**?wsdl)生成客户端代码

如下:

wsdl2java  http://localhost:8089/HelloWorldWS?wsdl

当然前提是,服务已经启动,wsdl文件能访问到

3编写客户端调用代码,调用服务

  1. 调用服务工厂(一个继承了service的类)的get**Port方法

public class ClientMain {
public static void main(String[] args){
//工厂
    HelloWorld factory = new HelloWorld();
    //得到服务代理
      HelloWorldService hw =factory.getHelloWorldServiceImplPort();

//调用服务方法
             hw.say();
             hw.read("test");

    }

}

总结,

感觉和jdk发布webservcie没有什么区别,唯一的不同大概就是

1、使用到了 endpointInterface 与serviceName

而serviceName的引用,使得我们可以任意指定发布的服务名

2、就是生成客户端使用的工具不一样。

当然这是我个人的观点

以下是我觉得对cxf介绍比较好的一篇文章

http://blog.csdn.net/u010924834/article/details/51661131

WEBSERVICE之CXF框架开发webservice的更多相关文章

  1. WebService系列二:使用JDK和CXF框架开发WebService

    一.使用JDK开发WebService 服务端程序创建: 1.新建一个JDK开发webservice的服务端maven项目JDKWebServiceServer 2. 定义一个接口,使用@WebSer ...

  2. 利用CXF框架开发webservice

    开发服务端代码 1. web.xml文件中添加cxf的servlet 2. 定义接口 @WebService(targetNamespace="http://UserInfo.ws.com& ...

  3. Eclipse+CXF框架开发Web服务实战

    一. 说明 采用CXF框架开发webservice. 所用软件及版本如下.  操作系统:Window XP SP3.  JDK:JDK1.6.0_07,http://www.oracle.com/ ...

  4. webservice第三篇【接口开发webservice、CXF框架使用、IDEA下使用webservice、小例子】

    实现接口的webservice 服务端 import javax.jws.WebService; /**面向接口的webservice发布方式 * * */ @WebService public in ...

  5. 转载 WebService 的CXF框架 WS方式Spring开发

    WebService 的CXF框架 WS方式Spring开发   1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0 ...

  6. 【WebService】使用JDK开发WebService(二)

    WebService的开发手段 1.使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) WebService的组成 1.服务器端 2.客户端 使用JDK开发WebService a. ...

  7. WebService 的CXF框架 WS方式Spring开发

    1.建项目,导包. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  8. WebService之CXF框架

    本文主要包括以下内容 ant工具的使用 利用cxf实现webservice cxf与spring整合 ajax访问webservice ant 工具 1.为什么要用到ant这个工具呢? Ant做为一种 ...

  9. WebService 的CXF框架 WS独立服务之HelloWorld

    WebService:不同系统不同语言的数据交互, CXF主要分为两种服务方式: 1 )JAX-WS:传输数据, xml格式,基于SOAP协议(规范:规定了xml传递数据的编码规范) ; 2 )JAX ...

随机推荐

  1. argis android sdk配置备忘一下

    ArcGIS RuntimeAndroid SDK100.1.0 1.在线配置(只有两处) 在project工程中的gradle添加 maven { url 'https://esri.bintray ...

  2. 禅道的bug提交

  3. 安装虚拟机(centos7)

    安装VMware 15 这里就不介绍VMware如何安装了,可以自行百度安装. 准备centos7镜像 我选择的是网易的镜像源,地址是:http://mirrors.163.com/centos/7/ ...

  4. PHP代码审计分段讲解(10)

    26 unserialize()序列化 <!-- 题目:http://web.jarvisoj.com:32768 --> <!-- index.php --> <?ph ...

  5. BUUOJ 杂项MISC(1)

    爱因斯坦 下载之后解压打开是一张爱因斯坦的图片,看来是图片隐写题 使用binwalk -e misc2.jpg 获得一个有flag.txt的压缩包,但是需要密码才能打开,猜想密码在图片里面,把图片丢进 ...

  6. unity入门—五分钟制作一个理论上的游戏

    unity入门 前言:这可不是标题党,虽然都是基础的操作,不过含括了基本的流程,比起脑海中的五花八门的画面,入门还是这个现实一点. 这里插两句,unity国外官网下载会推荐你看一个简短的视频,国内官网 ...

  7. NOI 2020 D1T3 本人题解

    我看了出题人本题的做法,感觉很难写,就自己胡了一个\(O((n + m) \sqrt n)\)的做法. 第一步我的想法与出题人一样,都是考虑容斥降维.对第\(i\)组询问,我们枚举两个事件中较大的一个 ...

  8. html文本域textarea高度自增、自动换行

    文本域自动换行.高度自增,采用以下方式: html: <textarea rows="1" class="answerTextArea" maxlengt ...

  9. 短视频去水印v1.0(还支持74个平台)

    软件介绍: 一款很好用的短视频去水印软件,支持74个平台无水印解析,还支持批量视频解析只需要输入账号主页链接就可以了哦,快来下载试试吧!   软件版本:1.0   支持系统:安卓   软件大小:22. ...

  10. 判断一个对象是否为空?怎么得到一个对象的第几个键名(key)?

    var obj = {"微信":[],"qq":[]} console.log( Object.keys(obj) ) // ["微信",& ...