webservice

使用 Apache CXF 实现 Web Service 详解

天大地大妈咪最大 提交于 2019-11-30 02:47:41
1.Web service的概念 什么是WebService呢?从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用你喜欢的任何语言,在你喜欢的任何平台上写Web Service。Web Service是构建互联网分布式系统的基本部件。"网络服务"(WebService)的本质,就是通过网络调用其他网站的资源。 举例来说,写一个“ 四川大地震图片墙 ”,它能动态显示关于四川地震的最新图片。但是,所有的图片都不是储存在自己的服务器上,而是来自 flickr.com 。只需要发出一个动态请求

Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务

半腔热情 提交于 2019-11-30 02:47:28
现在您已经学会了如何使用 CXF 开发基于 SOAP 的 Web 服务,也领略了 Spring + CXF 这个强大的组合,如果您错过了这精彩的一幕,请回头看看这篇吧: Web Service 那点事儿(2) —— 使用 CXF 开发 SOAP 服务 今天我们将视角集中在 REST 上,它是继 SOAP 以后,另一种广泛使用的 Web 服务。与 SOAP 不同,REST 并没有 WSDL 的概念,也没有叫做“信封”的东西,因为 REST 主张用一种简单粗暴的方式来表达数据,传递的数据格式可以是 JSON 格式,也可以是 XML 格式,这完全由您来决定。 REST 全称是 Representational State Transfer(表述性状态转移),它是 Roy Fielding 博士在 2000 年写的一篇关于软件架构风格的论文,此文一出,威震四方!许多知名互联网公司开始采用这种轻量级 Web 服务,大家习惯将其称为 RESTful Web Services ,或简称 REST 服务 。 那么 REST 到底是什么呢? REST 本质上是使用 URL 来访问资源的一种方式。总所周知,URL 就是我们平常使用的请求地址了,其中包括两部分: 请求方式 与 请求路径 ,比较常见的请求方式是 GET 与 POST,但在 REST 中又提出了几种其它类型的请求方式,汇总起来有六种:GET

Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务

元气小坏坏 提交于 2019-11-29 01:54:15
选框架犹如选媳妇,选来选去,最后我还是选了“丑媳妇(CXF)”,为什么是它?因为 CXF 是 Apache 旗下的一款非常优秀的 WS 开源框架,具备轻量级的特性,而且能无缝整合到 Spring 中。 其实 CXF 是两个开源框架的整合,它们分别是: Celtix 与 XFire ,前者是一款 ESB 框架,后者是一款 WS 框架。话说早在 2007 年 5 月,当 XFire 发展到了它的鼎盛时期(最终版本是 1.2.6),突然对业界宣布了一个令人震惊的消息:“XFire is now CXF”,随后 CXF 2.0 诞生了,直到 2014 年 5 月,CXF 3.0 降临了。真是 7 年磨一剑啊!CXF 终于长大了,相信在不久的将来,一定会取代 Java 界 WS 龙头老大 Axis 的江湖地位,貌似 Axis 自从 2012 年 4 月以后就没有升级了,这是要告别 Java 界的节奏吗?还是后面有更大的动作? 如何使用 CXF 开发基于 SOAP 的 WS 呢? 这就是我今天要与您分享的内容,重点是在 Web 容器中发布与调用 WS,这样也更加贴近我们实际工作的场景。 在 CXF 这个主角正是登台之前,我想先请出今天的配角 Oracle JAX-WS RI ,简称:RI(日),全称:Reference Implementation,它是 Java 官方提供的 JAX-WS

新手初识webservice-理论篇

删除回忆录丶 提交于 2019-11-29 01:53:53
工作中接触到了一些webservice应用,进而想整理出一些东西,给组里如我一样的毛头小伙子分享下,后来觉得在OSC一直默默潜水了快两年了,好像没留下过什么有价值的东西,就顺路记在这里吧,望老鸟和高手多多批评指正,新手多多交流~ 暂时写了两篇草稿,第一篇是理论篇,介绍了我所认识的webservice,主要摘录了Andrew830314#163.com的《Java的webservice支持》的部分内容,然后加上了我自己对webservice的一些理解,不求多详细复杂,只希望有JavaWeb基础但没有 webservice基础的开发人员,对 webservice有一个初步的认识,知道它是什么,有什么,做什么的;第二篇是实践篇,介绍了我用cxf做的一个demo,主要参考了 http://cxf.apache.org/ ,力求例子简单直观,让开发人员知道怎样使用最基本的webservice,为掌握 webservice开发预热。 正文如下 SOA(Service-Oriented Architecture)面向服务架构,将应用程序的不同功能单元通过中立的契约(独立于硬件平台、操作系统、编程语言和应用)联系起来。 @路飞 例如一个iphone上的在线销售系统:服务端基于Java,部署在Linux服务器上,提供了某功能X,例如根据输入的商品ID和数量,从商品库中检索单价,然后计算总额

WebService服务调用方法介绍

两盒软妹~` 提交于 2019-11-28 21:15:02
1 背景概述 由于在项目中需要多次调用webservice服务,本文主要总结了一下java调用WebService常见的6种方式,即:四种框架的五种调用方法以及使用AEAI ESB进行调用的方法。 2 预期读者 数通畅联内部员工 广大计算机爱好者 3 名词解释 Web Service也叫XML Web Service: WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。 XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。 Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。 WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息

jaxws-webservice编程(第一个记录)

↘锁芯ラ 提交于 2019-11-28 11:38:50
随着近几年来,SOA,EAI等架构体系的日渐成熟,Webservice越来越炽手可热,尤其是在企业做异质平台整合时成为了首选的技术。 Java的Webservice技术更是层出不穷,比较流行的有:Axis2,Spring WS以及Jaxws。 本人在日常工作和以往工程中,在使用了上述这些Webservice后进行了总结,比较,最终觉得jaxws是目前最标准,需要额外第三方插件最少,配置最少最灵活的webservice。 JAXWS适合几乎所有Webservice客户端的调用,因此不少巨头型的厂商如:IBM,Weblogic等,在他们的产品上都使用了以JAXWS为标准的Webservice接口。 本教程分成五天,为初级教程。 通过本教程,可以使一个没有Webservice概念或者没有写过Webservice的JAVA Resource快速上手入门,并能满足一般中小型项目中Webservice的应用。 对于Webservice Security,在(初级)教程中并不提供,会在高级教程中详细描述。 不过真正利用Webservice Security特性即XML加密技术的工程并不多,少之又少,大多还是以http: //xxx/xxxService?userId=&password=这样的形式来进行“假安全”通讯的。 必经我们的大部分项目是运行在Intranet里的,而且有很好的监控和布防。

新手初识webservice-实践篇

笑着哭i 提交于 2019-11-27 17:51:27
理论背景:《新手初识webservice-理论篇》 http://my.oschina.net/achi/blog/52766 编程语言:Java 必要技能:JavaWeb,MVC,Spring IOC 情景假设:你刚用Java做了个网上店铺,用了servlet,MVC分层,Spring IOC,MySQL之类的,初学JavaWeb时老师都会让做一个的那种,它的其中一个功能是根据页面传来的商品数量和商品单价计算总额并返回。然后你漂亮的女同学-Linda-对你说,帅哥我也刚做了个Java的店铺系统,但是根据商品数量和商品单价计算总额并返回这块儿不会写,你帮我写吧~于是你决定把自己原来的方法做些修改,然后发布成webservice让Linda调用。 框架介绍:Java中针对webservice开发的框架我接触到的有cxf(最新版本2.5.2)和axis(工作中使用的1.4),本文介绍的是cxf,因为cxf和Spring高度集成,通过简单的配置和适量的代码就能完成服务端和客户端的开发,我觉得适合新手入门,等有一定使用经验了再去了解细节也更容易。cxf的官网为 http://cxf.apache.org/ ,下面项目中用到的cxf方面的jar都可以从 http://www.apache.org/dyn/closer.cgi?path=/cxf/2.5.2/apache-cxf-2.5.2

使用cxf发布webservice总结

不问归期 提交于 2019-11-27 03:51:31
一、概念 1、什么是webservice Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 2、wsdl 网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言。为用户提供详细的接口说明书。 3、soap 简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。 4、JAX-WS 一种 Java 规范,名为 JAX-WS(JSR-224),全称 Java API for XML-Based Web Services,可以将规范理解为官方定义的一系列接口。 5、JAX-RS 为了让 WS 的开发与使用变得更加简单、更加轻量级,于是出现了另一种风格的 WS,名为 JAX-RS(JSR-339),全称 Java API for RESTful Web Services,同样也是一种规范,同样也有若干实现,cxf是其中比较著名的一种。 二、使用cxf发布基于soap的webservice 1、cxf与webservice的关系 刚入行的时候一直把cxf当做webservice

使用CXF开发RestFul WebService问题解决方案

时间秒杀一切 提交于 2019-11-26 16:47:47
最近在项目中,因为几个系统自己需要数据交换,所以采用进来都比较流行的RestFul风格WebService,实现框架采用apache的cxf,apache的东西一直以来都是比较的好用,回话少说,进入正题。 首先,提出两个问题,已经解决方案,后面跟上代码。 1、cxf中如何实现java中泛型的数据序列化和反序列化(通常使用json、xml格式,cxf默认不支持泛型) 2、cxf后台异常,在前台如何反映 问题1答案比较简单,cxf中的数据序列化是可以替换掉使用你实现MessageBodyReader<Object>和MessageBodyWriter<Object>接口就可以啦,针对xml,cxf采用stax2、jaxb、xmlschema、Woodstox库,针对json默认使用jettison实现的几乎都是codehaus作品。知道cxf序列化和反序列化方式就比较容易解决问题啦。默认情况下cxf的jettison对泛型序列化存在问题,因为时间紧(一天就要做好restful webservice部署),没有具体去研究实现问题,我只是在之前使用过jackson,去处理json问题,而且cxf拥有jackson的MessageBodyReader和MessageBodyWriter实现类,我只要导入包并告诉cxf使用我指定的json provider就可以了