【译文】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和 一些 ...
随机推荐
- Java Tools &Tools APIs
java 启动Java应用程序 javac Java编译器javac读取用Java编写的源文件,并将它们编译为字节码类文件. 用法: javac <options> <source ...
- asp.ne如何使用javascript去验证客户端信息,如果验证成功则送往服务器端处理,否则在客户端提示用户(不返回到服务器端处理)
一.问题 在网站一般都有很多地方需要用户去填写一些信息,然后用户点击提交,将信息送往后台储存到数据库中.在这一个过程我以前做法直接在button的click事件中来判断用户输入的数据是否完整和合法,虽 ...
- druapl7:"Notice: A non well formed numeric value encountered 在 _hierarchical_select_hierarchy_generate() "
这个是很诡异的一个Notice错误提醒,因为我在Drupal7.54+PHP7.0.1的环境下,并没有报这个错.但是我再Drupal7.59+PHP7.1.7的环境下就报错了.很奇怪,按照报错信息bi ...
- C#防止WebBrowser在新窗口中打开链接页面
在日常的开发中,大家有时需要用WebBrowser加载URL,来实现某些功能.而这时,我们就不希望所打开的页面中的链接,在新窗口中打开,因为这样的话,实际上是用系统默认的浏览器打开了,从而脱离了你的W ...
- 葡萄城报表介绍:Java 报表
一.Java 报表定义 Java 是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承.指针等概念,因此 Java 语言具有功能强大和简单易用两个特征.Ja ...
- sql中 设置区分大小写
CI 指定不区分大小写,CS 指定区分大小写alter table 表名 alter column 字段 nvarchar(100) collate chinese_prc_cs_as --区分大小写 ...
- VMware与Hyper-V
前段时间在Windows10上安装Hyper-V,使用docker时,提示要卸载VMware 今天重新安装VMware时,提示: 根据连接进去:https://kb.vmware.com/s/arti ...
- node(2)
//app.js var express = require("express"); //以后的时后处理POST DELETE PATCH CHECKOUT 这些请求都可以用for ...
- 【个人经历】记自己的第一次GitHub开源代码共享经历
题记: 自己做程序员快三年有余了,感觉自己和刚入职相比确实有了不少进步,当然三年要是不进步那不就傻了吗,有时候我也在想,我在这三年里留下了什么,当然也不是说有多么高尚的想法,就是以后对别人介绍自己的时 ...
- Pig是轻类型的
总体来说Pig是“强类型”的,但Pig又允许用户不指定输入数据的类型,而可以自己根据用户的使用方式进行推测. 称Pig是“轻类型”的更合适,它确实对类型有严格的要求,但是如果没有明确定义类型也是可以处 ...