【译文】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和 一些 ...
随机推荐
- awk统计文件中某关键词出现次数
1.统计文件test.txt中第2列不同值出现的次数 awk '{sum[$2]+=1}END{for(i in sum)print i"\t"sum[i]}' test.txt ...
- jQuery ajax - getJSON() 用法实例
实例 从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据: $.getJSON("test.js", function(json){ aler ...
- MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
安装mysql前可能需要其他软件的依赖,请先执行下面命令安装mysql的依赖软件 shell> apt-cache search libaio # search for info shell&g ...
- 一:idea中使用eclipse主题快捷键
idea -->file -->import settings -->keymap-shkstart.jar 1 执行(run) alt+r 2 提示补全 (Class Name C ...
- java实现黑客帝国数字雨特效(转)
原文出处https://www.cnblogs.com/x110/p/4239585.html 我在原文的基础上做了优化,使动画看起来更流畅,效果如下 import java.awt.*; impor ...
- Spring系列之——使用了哪些设计模式
1 工厂模式:BeanFactory.ApplicationContext创建中 2 模板模式:BeanFactory.ApplicationContext实现中 3 代理模式:在AOP实现中用到了J ...
- sum() 求和用法
def func(*args): # sum = 0 # for el in args: # sum += el # return sum return sum(args) # sum() 求和 de ...
- linux解压tar.gz
gnuzip或者tar -zxvf file.tar.gz unzip file.zip
- scss-函数
在scss中除了可以定义变量,具有@extend和@mixins等特性之外,还自备了一系列的函数功能. scss本身带有大量的内置函数,具体可以参阅官网函数模块. 一.字符串函数 unquote($s ...
- 重要BLOG
Cloud http://www.cnblogs.com/CloudMan6/tag/OpenStack/ 算法基础 http://www.cnblogs.com/ECJTUACM-873284962 ...