webservice学习随笔(二):通过cxf实现webservice
一:基本概念(可跳过)
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM WebSphere 或 BEA WebLogic。
该框架提供了以下功能:
- Web 服务标准支持:CXF 支持以下 Web 服务标准:
- Java API for XML Web Services (JAX-WS)
- SOAP
- Web 服务描述语言(Web Services Description Language ,WSDL)
- 消息传输优化机制(Message Transmission Optimization Mechanism,MTOM)
- WS-Basic Profile
- WS-Addressing
- WS-Policy
- WS-ReliableMessaging
- WS-Security
- 前端建模:CXF 提供了前端建模的概念,允许您使用不同的前端 API 来创建 Web 服务。API 允许您使用简单的工厂 Bean 并通过 JAX-WAS 实现来创建 Web 服务。它还允许您创建动态 Web 服务客户端。
- 工具支持:CXF 提供了用于在 Java Bean、Web 服务和 WSDL 之间进行转换的不同工具。它提供了对 Maven 和 Ant 集成的支持,并无缝地支持 Spring 集成。
- RESTful 服务支持:CXF 支持代表性状态传输(Representational State Transfer,RESTful )服务的概念,并支持 Java 平台的 JAX-RS 实现。(本系列的第 2 部分将提供有关 RESTful 服务的更多信息。)
- 对不同传输和绑定的支持:CXF 支持不同种类的传输,从 XML 到逗号分隔值 (CSV)。除了支持 SOAP 和 HTTP 协议绑定之外,它还支持 Java Architecture for XML Binding (JAXB) 和 AEGIS 数据绑定。
- 对非 XML 绑定的支持:CXF 支持非 XML 绑定,例如 JavaScript Object Notation (JSON) 和 Common Object Request Broker Architecture (CORBA)。它还支持 Java 业务集成(Java Business Integration,JBI)体系架构和服务组件体系架构(Service Component Architecture,SCA)。
- code first 或者 xml first : 支持使用code first 或者 xml first 的方式来创建web服务。
二、代码实例
需要的包(百度云盘自提):
- 链接:https://pan.baidu.com/s/1gEYxyhvn_wY0kEK7qZHB_w
- 提取码:7h7q
- 复制这段内容后打开百度网盘手机App,操作更方便哦
代码和上一节基本一致,稍微做一点调整:webservice学习随笔(一):简单的webservice实例
首相,创建java项目,并导入jar包
创建接口WebServiceI、实现WebServiceImpl、发布主程序WebServicePublish、客户端CXFClient;
- package service;
- import javax.jws.WebParam;
- import javax.jws.WebService;
- @WebService
- public interface WebServiceI {
- public String sayHello(@WebParam(name="name")String name);
- }
- package service;
- import javax.jws.WebService;
- @WebService(endpointInterface="service.WebServiceI",serviceName="WebServiceI")
- public class WebServiceImpl implements WebServiceI {
- public String sayHello(String name) {
- String returnStr = name + ",你好";
- return returnStr;
- }
- }
- package service;
- import javax.xml.ws.Endpoint;
- public class WebServicePublish {
- public static void main(String[] args) {
- String address="http://localhost:8989/WS_Server/WebService";
- Endpoint.publish(address,new WebServiceImpl());
- System.out.println("发布成功....");
- }
- }
- package service;
- import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
- public class CXFClient {
- public static void main(String[] args) {
- JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean();
- svr.setServiceClass(WebServiceI.class);
- svr.setAddress("http://localhost:8989/WS_Server/WebService");
- WebServiceI ws = (WebServiceI) svr.create();
- System.out.println("调用webservice服务的结果是:"+ws.sayHello("李四"));
- }
- }
本次我们发现最大的改变是在接口、实现上添加了注解@WebService,客户端的代码稍微变化大一点。
测试结果一样,启动服务端主程序后,控制台显示发布成功
执行客户端主程序后:
本次CXF实现webservice成功
webservice学习随笔(二):通过cxf实现webservice的更多相关文章
- WebService技术(二)— CXF
前言:学习笔记,以供参考 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services .可以与Spring进行快速无 ...
- WebService学习总结(三)——使用JDK开发WebService(转)
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- [转] WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
以下文章来自 http://www.blogjava.net/jacally/articles/186655.html 现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了 ...
- WebService学习总结(二)——WebService相关概念介绍
一.WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨平台的规范(抽象) 3. 多个跨平台.跨语言的应用间通信整合的方案(实际 ...
- WebService学习之三:spring+cxf整合
步骤一:spring项目(java web项目)引入CXF jar包 步骤二:创建webservice服务器 1)创建一个服务接口 package com.buss.app.login; import ...
- CXF之二(CXF发布webService)
Apache CXF提供了用于方便地构建和开发WebService的可靠基础架构.它允许创建高性能和可扩展的服务,可以部署在Tomcat和基于spring的轻量级容器中,也可以部署在更高级的服务器上, ...
- WebService学习总结(三)——使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- WebService学习--(四)调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- [置顶]
WebService学习总结(4)——第三方webService服务调用
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- WebService学习总结——调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据. 气象中心的管理系统将收 ...
随机推荐
- js实现不同的域名 输出不同的结果
js实现域名判断后跳转到指定网址,也适用于同一虚拟空间放多个网站: <script> try { if(self.location == "http://apple.baidu. ...
- weblogic10.3.1.0安装(windows版)
转: weblogic10.3.1.0安装(windows版) 安装完成后 配置数据源 然后配置部署项目. myeclipse 配置weblogic
- el-table 如果文字过多展示...
1 <el-table-column label="任务名称" width="120px" align="center" :show- ...
- 关于zookeeper集群的理解
一.zookeeper集群节点容错性 1.在集群模式下,建议至少部署3个zk进程,或者部署奇数个zk进程.如果只部署2个zk进程,当其中一个zk进程挂掉后,剩下的一个进程并不能构成一个quorum的大 ...
- 杭电oj--1019题C++实现
这道题有两个问题: 首先,是求利用数论的辗转相除法求最大公约数,后再求最小公倍数m*n/gcd(m,n),其中,m*n可能会超过int 数据范围,所以,该语句换成m/gcd(m,n)*n. 然后是如果 ...
- 身为一个java开发人员对目前java开发的一些小小的认识
为什么要学java? 第一要工作,第二想要高薪 首先身为java开发工作人员你的思想认知程度要搞,思想认知程度决定你的专业技能水平 JavaSE工程师 B/S 架构 ---- 浏览器 ...
- 蓝桥2021 B组
2. 卡片(结果填空) 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9. 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了. 小蓝想知道自 ...
- WPF VB.NET 代码实现界面动画效果
WPF VB.NET 代码实现界面动画效果 Imports System.Windows.Media.Animation 例子: Dim result As New Storyboard Dim an ...
- javaScript事件onmouseout 、 onmouseove
javaScript事件onmouseout . onmouseove onmouseout: 鼠标从某元素移开 onmouseover: 鼠标被移到某元素之上 这两个事件是鼠标滑过元素是的效果,可以 ...
- python-文件和文件夹操作
1.os模块 import os 方法 功能说明 access(path,mode) 测试是否可以按照mode指定的权限访问文件 chdir(path) 把path设为当前工作目录 chmod(pat ...