【译文】Web Service 众所周知的问题
1. 什么是web service
Web Service是一种网络程序间的通信方式,它允许开发者用API方式暴露自己的业务逻辑功能,这样,其他开发者可以使用它
2. Web Service的特性
互操作性、可重用性、松耦合、可扩展
3. Web Service不同的类型
SOAP和RESTful web service
4. SOAP 是什么?
SOAP是简单对象访问协议,它是一种用XML格式请求和响应的交换信息的协议,于HTTP等协议之上。
5. SOAP的三大组件
简单对象访问协议 - SOAP
Web服务描述语言 - WSDL
统一描述、发现和集成 - UDDI
6. 什么是WSDL
它是一个XML格式的文件,描述了实现Web服务的技术细节,URL、端口、方法名和参数以及数据类型,通过WSDL你可以了解到以下的细节:
- Port / Endpoint – URL of the web service
- Input message format
- Output message format
- Security protocol that needs to be followed
- Which protocol the web service uses
7. 什么是UDDI
它是一个目录服务,Web服务提供商可以使用它来注册他们的服务,使得他们的服务可以被发现。
8. 什么是JAX-WS
它是基于XML的Web Service的Java标准API,用来创建SOAP类型的Web服务
9. JAX-WS重要注解
- @WebService
- @WebMethod
- @SOAPBinding
10. 针对SOAP类型而言, endpoint是指什么?
是一个URL,其他应用可以访问它。
11. 针对SOAP,如何访问到WSDL
将 ?wsdl 添加到Web 服务的endpoint url后即可
http://localhost:8080/WS/HelloWorld?wsdl
12. wsimport 是什么?
是一个工具,可以将WSDL生成java类,要求JDK6以上
13. sun-jaxws.xml文件是什么
这个文件提供了JAX-WS Web服务的endpoints详细内容,这些JAX-WS Web服务部署在Tomcat中,此文件一般在WEB-INF/ 目录里面,内容类似如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
- <endpoint
- name="HelloWorldWS"
- implementation="org.arpit.javapostsforlearning.webservice.HelloWorldImpl"
- url-pattern="/HelloWorldWS"/>
- </endpoints>
14. 什么是Restful Web服务
在Web服务领域,REpresentational State Transfer (REST) 是一个无状态的客户端-服务器架构,在这种风格上,Web服务被认为是一种资源,且可以通过URI唯一标记。Web服务客户端使用URI来访问它。
15. Restful Web服务可以用哪些HTTP方法
GET, POST, PUT ,DELETE, HEAD and OPTIONS
16. 什么是JAX-RS
RESTful Web Services 的JAVA标准API,用来开发REST风格的服务,它是JAVA EE6的一部分。这使得开发者很容易开发REST风格的Web应用
17. 用来创建REST Web服务的重要的注解
以下列出比较重要的,详细查看官方文档:
@Path : 放到类或者方法前,映射URI到类或者方法
@GET,@POST,@PUT,@DELETE : 限制URI访问的HTTP方法
@Produces(MediaType.TEXT_XML [, more-types ]): 定义该方法返回的MIME类型
@PathParam: 用来从URL中注入值到方法参数中
@Consumes(MediaType.TEXT_XML) : 方法使用的MIME类型
18. 测试工具
对于SOAP:
soapui
对于rest:
浏览器扩展即可,例如谷歌浏览器的DHC客户端
19. 如何选择?
更快的开发速度? 选择REST
不知道访问的客户端? 选择REST
支持更多的格式? 选择REST
20. SOAP和REST 之间的区别
Read more at http://www.java2blog.com/2013/04/restful-web-service-tutorial.html#JmjvwTWX5wuBUAAo.99
【译文】Web Service 众所周知的问题的更多相关文章
- Windows Phone开发(47):轻松调用Web Service
原文:Windows Phone开发(47):轻松调用Web Service 众所周知(除了没用过VS的),在VS里面调用Web Service是一件很愉快的事情,不解释,相信很多朋友在以前的项目中肯 ...
- ORACLE存储过程调用Web Service
1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sq ...
- 从WEB SERVICE 上返回大数据量的DATASET
前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作.查遍了网站的文章,问了一 ...
- 使用Java创建RESTful Web Service
REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移).2000年Roy Fielding博士在他的博士论文“Architectural Sty ...
- 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
一.综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能.RMI是java语言本身提供的远程通讯协 ...
- ref:Web Service 渗透测试从入门到精通
ref:https://www.anquanke.com/post/id/85910 Web Service 渗透测试从入门到精通 发布时间:2017-04-18 14:26:54 译文声明:本文是翻 ...
- 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service (转)
一.综述 本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能.RMI是java语言本身提供的通讯协议 ...
- .NET基础拾遗(7)Web Service的开发与应用基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- Web Service概念梳理
计算机技术难理解的很多,Web Service 对我来说就是一个很难理解的概念:为了弄清它到底是什么,我花费了两周的时间,总算有了一些收获,参考了不少网上的资料,但有些概念说法不一.我以w3c和 一些 ...
随机推荐
- 【C#】组件分享:FormDragger窗体拖拽器
适用:.net2.0+ winform项目 介绍: 类似QQ.迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随 ...
- jQuery通过input标签的name获取值
jquery根据name属性查找 $("div[id]") 选择所有含有id属性的div元素 $("input[name='keleyicom']") 选择所有 ...
- win10 uwp 让焦点在点击在页面空白处时回到textbox中
在网上 有一个大神问我这样的问题:在做UWP的项目,怎么能让焦点在点击在页面空白处时回到textbox中? 虽然我的小伙伴认为他这是一个 xy 问题,但是我还是回答他这个问题. 首先需要知道什么是空白 ...
- zTree中 checkbox 点击向文本框中赋值
例子如下:第一个 文本框: <div class="content_wrap" style="height: 0;position: relative; " ...
- 通向全栈之路——(5)git通三端
一.在私有git服务中新建一个项目(码云):将电脑上id_rsa.pub(git公钥)拷贝至ssh下面中保存二.本地代码关联git:1.git全局设置:git config --global user ...
- [日常] Redis基本使用测试
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(list ...
- 【原】Spring activiti 环境搭建之数据库创建
由于在开发工作流的时候,避免不了要保存一些数据和流程走向;所以在搭建Spring activiti开发环境的时候需要把官方提供的23张表创建到我们的DB,后续的流程都会在这些表中记录. 1.创建代码如 ...
- 使用tcmalloc替换系统的malloc
https://blog.csdn.net/educast/article/details/79166553?utm_source=blogxgwz0 今天对服务器进行压测,模拟的请求量到4万次/分的 ...
- mybatis循环生成前后缀:mapper.xml的<trim></trim>
*在mapper.xml中<trim prefix="(" suffix=")" suffixOverrides="," prefix ...
- Stream grouping-storm的流分组策略
A stream grouping tells a topology how to send tuples between two components. Remember, spouts and b ...