CXF作为java领域主流的WebService实现框架,Java程序员有必要掌握它。

CXF主页:http://cxf.apache.org/

简介:百度百科

今天的话,主要是用CXF来开发下WebService服务器端接口,明天写下开发客户端接口;

这里用Maven。

首先建一个Maven的j2se项目;

项目的jre用1.7,因为1.7有webservice的默认实现。不要用1.5 不然下面你用我的代码会有问题,用1.5的话,还需要另外加jar包,这里为了大家省事,要换成1.7;

根据规范,我们先建一个接口类:HelloWorld

package com.java1234.webservice;import javax.jws.WebService;@WebService
public interface HelloWorld {public String say(String str);
}

再建一个具体的实现类:HelloWorldImpl

package com.java1234.webservice.impl;import javax.jws.WebService;import com.java1234.webservice.HelloWorld;@WebService
public class HelloWorldImpl implements HelloWorld{public String say(String str) {return "Hello "+str;}}

最后建一个发布服务的主类:Server

package com.java1234.webservice;import javax.xml.ws.Endpoint;import com.java1234.webservice.impl.HelloWorldImpl;public class Server {public static void main(String[] args) {System.out.println("web service start");  HelloWorld implementor = new HelloWorldImpl();  String address = "http://localhost/helloWorld";  Endpoint.publish(address, implementor);  // 纯JDK实现System.out.println("web service started");  }
}

这里的Endpoint是Jdk自身实现的WebService。所以到这里我们不需要用到CXF的任何东西。

这里的address,写上自己的本机IP  上述的,127.0.0.1 具体的部署变动,实际上具体开发应该有端口 
String address = "http://localhost:8080/helloWorld"

我们运行下Server类:

我们在浏览器里访问:http://localhost/helloWorld?wsdl

说明已经成功调用了webservice接口;

这里的wsdl 是 Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。WSDL是Web Service的描述语言,用于描述Web Service的服务,接口绑定等,为用户提供详细的接口说明书。

请求后得到的是一个xml规范文档。是一套规范,后面会具体介绍,任何语言平台技术都可以解析。

下面我们介绍使用CXF来实现webservice接口:

我们先在pom.xml中加入:

<dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-core</artifactId><version>3.1.5</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.1.5</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http-jetty</artifactId><version>3.1.5</version></dependency>

  这里要额外加入jetty,作为webservice发布的服务器。jetty是一个内嵌的web服务器;

我们把Server改下。换成CXF实现:

package com.java1234.webservice;import org.apache.cxf.jaxws.JaxWsServerFactoryBean;import com.java1234.webservice.impl.HelloWorldImpl;public class Server {public static void main(String[] args) {System.out.println("web service start");  HelloWorld implementor = new HelloWorldImpl();  String address = "http://192.168.1.103/helloWorld";  // Endpoint.publish(address, implementor);  // JDK实现JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();factoryBean.setAddress(address); // 设置暴露地址factoryBean.setServiceClass(HelloWorld.class); // 接口类factoryBean.setServiceBean(implementor); // 设置实现类factoryBean.create();      System.out.println("web service started");  }
}

  运行效果和刚才一样,这里就不再重复;

转载于:https://www.cnblogs.com/bao521/p/6340174.html

webservice CXF入门服务端相关推荐

  1. 13.Axis创建webservice客户端和服务端

    转自:https://blog.csdn.net/chenghui0317/article/details/9318317 一.Axis的介绍 Web Service是现在最适合实现SOA的技术,而A ...

  2. jmeter web服务器协议,【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter测试SOAP协议性能测试脚本开发(示例代码)...

    目录: [阐述]:首先应该遇到了一个共同的问题,JMeter3.2之后就没有WebService(SOAP) Request,后来经过查询网上资料得知其实可以用HTTP请求来操作,结果是一样的. [步 ...

  3. spring整合cxf,轻松编写webService客户端、服务端

    WebService是一种跨编程语言.跨操作系统平台的远程调用技术,广泛应用在实际开发,接口实现,系统集成. 服务端 List item 添加maven依赖 项目中除了spring相关的依赖以外,还需 ...

  4. 通过Java WebService接口从服务端下载文件

    一. 前言 本文讲述如何通过webservice接口从服务器下载文件到客户端.适用于跨系统间的文件交互,传输文件不大的情况(控制在几百M以:):在这种情况下搭建一个FTP服务器增加了系统部署的复杂度和 ...

  5. java cxf 搭soa,WebService CXF入门问题 SOA 骑着上帝去环游 - 贪吃蛇学院-专业IT技术平台...

    package deng; import javax.xml.ws.Endpoint; import com.founder.ws.HelloWorld; import com.founder.ws. ...

  6. Netty工作笔记0041---Netty入门--服务端2

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 注意这里,pipeline是管道,这主要是用来处理事件的业务的 而通道,主要是用来读数据和写数据的 ...

  7. Netty工作笔记0040---Netty入门--服务端1

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 创建maven项目,然后引入maven包 怎么样添加maven包呢>? 选择project ...

  8. WebService入门教程(服务端发布WebService)

    本篇内容过多,时间紧迫的朋友可以通过目录快速筛选自己想要看的内容,本人接触webservice也没多久,也处于学习阶段,如果有错误请指正,如果已经是大神请略过这篇文章,这篇文章不涉及webservic ...

  9. 【转】使用Apache CXF开发WebServices服务端

    原地址:http://cnjava.blog.51cto.com/1208887/335630 在前一篇的博客中,我使用Xfire1.x来开发了WebServies的服务端. 但是如果你访问Apach ...

最新文章

  1. 添加摇头刷脸_小区门禁系统开始刷脸的时代,你准备好了吗?
  2. C++11 auto 关键字学习1
  3. 全球及中国矿棉板行业运营能力状况与十四五规模预测报告2022年
  4. 计算机网络基础:IP基础知识笔记
  5. 在ASP.NET Core中使用brotli压缩
  6. 防止开源的加拉帕戈斯综合症,系统软件和开源都是手段不是目的
  7. 由echarts想到的js中的时间类型
  8. 如何做好产品需求设计和开发
  9. 威漫哨兵机器人_漫威:哨兵机器人天下无敌?这几位变种人就不把他们放在眼里...
  10. 42表盘直径是从哪测量_表盘直径怎么算,怎样测量手表表盘的直径
  11. 利用canvas打造一个炫酷的粒子背景
  12. flushia系统_IA 系统和应用 第七章 环境组态.pdf
  13. 内存函数-----Memcmp
  14. linux cp命令的-f 参数
  15. 【小树T系列3D打印机安装教程】
  16. 东偶已逝,桑榆非晚。
  17. 用户使用手册与测试报告(团队作业)
  18. 解决not well-formed (invalid token)BUG,xml标签转到txt标签,txt标签转到xml标签,滑动窗口切割图像并且同步标签
  19. 易宝支付Demo,生产中封装成简洁的代付接口,不用request如何获取项目运行时的真实路径...
  20. 基于SpringBoot+Vue 实现的OA自动化办公系统

热门文章

  1. Modular Java
  2. 让sourceSafe每天自动备份及修复(适用于vss6.0和vss2005)
  3. html怎么用js播放音频,用Javascript播放音频?
  4. python 文件修改记录_python基础-文件增删改查
  5. Cisco服务器怎么安装系统,CISCO服务器Linux系统安装步骤
  6. php留言板翻页,php翻页函数 - 沐攸的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  7. c语言实验一的错误,C语言实验(三)
  8. 计算机网络安全常见问题,计算机网络安全是指什么?
  9. linux下dvwa安装教程,在Kali Linux上部署DVWA
  10. arm-linux-gcc 和Makefile