许多公司都提供了经常问到的Web服务面试问题和答案。让我们看一下最重要的Web服务面试问题列表。
1)什么是Web服务?
Web服务是一种标准软件系统, 用于通过网络在两个设备(客户端和服务器)之间进行通信。 Web服务为使用不同语言编写的各种应用程序提供了一个通用平台, 以通过网络相互通信。
Java Web服务API
更多细节..
2)Web服务如何工作?
Web服务用于通过使用开放标准(例如HTML, XML, WSDL和SOAP)在各种应用程序之间进行通信。你可以在Solaris上构建基于Java的Web服务, 可从Windows上运行的Visual Basic程序访问该服务。你还可以使用C#在Windows上开发新的Web服务, 该服务从基于Java Server Pages(JSP)并在Linux上运行的Web应用程序调用。
3)Web服务有哪些优势?
这些是Web服务的一些重要优点:
- 互操作性:在Web服务的帮助下, 一个应用程序可以与以任何语言开发的其他应用程序进行通信。
- 可重用性:我们可以公开Web服务, 以便其他应用程序可以使用它。
- 模块化:借助Web服务, 我们可以为特定任务(例如税额计算)创建服务。
- 每个应用程序的标准协议:Web服务使用标准协议, 以便所有用不同语言编写的客户端应用程序都可以理解它。该标准协议有助于实现跨平台。
- 通讯成本更低:Web服务使用SOAP over HTTP, 因此任何人都可以使用现有的Internet来使用Web服务。
更多细节..
4)有哪些不同类型的Web服务?
Web服务有两种类型:
- SOAP-这是用于访问Web服务的基于XML的协议。
- RESTful-这是一种建筑风格, 而不是协议。
5)Web服务的主要功能是什么?
以下是Web服务的主要功能列表:
- 它可以通过Internet或专用(内联网)网络使用。
- 它使用标准化的XML消息传递系统。
- 它不受任何一种操作系统或编程语言的束缚。
- 它通过通用的XML语法进行自我描述。
- 可通过简单的查找机制发现它。
6)什么是SOAP?
SOAP代表简单对象访问协议。它是用于访问Web服务的基于XML的协议。它独立于平台和语言。通过使用SOAP, 你可以与其他编程语言应用程序进行交互。更多细节..
7)SOAP Web服务的优点是什么?
这些是SOAP Web服务的一些重要优点:
- WS安全性-SOAP定义了其安全性, 称为WS安全性。
- 与语言无关-可以使用任何编程语言编写其Web服务
- 独立于平台-其Web服务可以在任何平台上执行。
更多细节..
8)SOAP Web服务的缺点是什么?
这些是SOAP Web服务的一些重要缺点:
- 慢-它使用必须解析才能读取的XML格式, 并定义了开发SOAP应用程序时必须遵循的许多标准。因此它很慢并且消耗更多的带宽和资源。
- WSDL依赖性-它使用WSDL, 并且没有任何其他机制来发现服务。
更多细节..
9)SOAP的主要功能是什么?
以下列表指定了SOAP的功能:
- SOAP是一种通信协议。
- SOAP在应用程序之间进行通信。
- SOAP是一种用于发送消息的格式。
- SOAP旨在通过Internet进行通信。
- SOAP是平台无关的。
- SOAP是独立于语言的。
- SOAP是简单且可扩展的。
- SOAP使你可以绕过防火墙。
- SOAP是作为W3C标准开发的。
10)什么是WSDL?
WSDL代表Web服务描述语言。这是一个XML文档, 其中包含有关Web服务的信息, 例如方法名称, 方法参数。客户端需要一个数据字典, 其中包含有关所有Web服务的信息以及方法名称和参数列表, 以为Web服务调用它们。 Web服务描述语言通过向客户端提供所有必要的信息来弥合这一差距。
Web服务描述语言中使用的一些重要元素如下:
- <message>:WSDL中的message元素用于为Web服务执行的每个操作定义所有不同的数据元素。
- <portType>:端口类型元素用于确定Web服务可以执行的操作。此操作可以有两个消息, 一个是输入消息, 第二个是输出消息。
- <binding>:此元素包含使用的协议。
更多细节..
11)什么是UDDI?
UDDI代表通用描述, 发现和集成。它是用于描述, 发现和集成Web服务的基于XML的框架。它包含可用的Web服务列表。 WSDL是UDDI的一部分。更多细节..
12)什么是RESTful Web服务?
REST代表代表性状态转移。这是一种建筑风格。它不是像SOAP这样的协议。更多细节..
13)RESTful Web服务的优点是什么?
这些是RESTful Web服务的一些重要优点:
- 快速-Web服务之所以快速, 是因为没有严格的SOAP规范。它消耗更少的带宽和资源。
- 语言无关-可以使用任何编程语言编写Web服务。
- 平台无关-Web服务可以在任何平台上执行。
- 可以使用SOAP-Web服务可以将SOAP Web服务用作实现。
- 允许不同的数据格式-Web服务允许不同的数据格式, 例如纯文本, HTML, XML和JSON。
更多细节..
14)SOAP和REST Web服务之间有什么区别?
No. | SOAP | REST |
---|---|---|
SOAP是一种协议。 | REST是一种建筑风格。 | |
SOAP代表简单对象访问协议。 | REST代表代表性状态转移。 | |
SOAP无法使用REST, 因为它是一种协议。 | REST可以使用SOAP Web服务, 因为它是一个概念, 可以使用HTTP, SOAP等任何协议。 | |
SOAP使用服务接口来公开业务逻辑。 | REST使用URI公开业务逻辑。 | |
SOAP定义了必须严格遵循的标准。 | REST没有定义太多标准, 例如SOAP。 | |
SOAP仅允许XML数据格式。 | REST允许使用不同的数据格式, 例如纯文本, HTML, XML, JSON。 |
更多细节..
15)什么是SOA?
SOA代表面向服务的体系结构。通过协议为其他应用程序提供服务的一种设计模式。
更多细节..
16)使用哪些工具来测试Web服务?
用于测试Web服务的工具是:
- 用于测试SOAP和RESTful Web服务的SoapUI工具
- Firefox浏览器的海报
- Chrome的Postman扩展程序
17)XML在Web服务中的优势是什么?
在Web服务中, XML用于标记数据, 格式化数据。
18)WSDL在Web服务中的用途是什么?
WSDL在Web服务中用于描述服务的可用性。
19)什么是Web服务中的互操作性?
Web服务有助于各种应用程序相互通信并在彼此之间共享数据和服务。其他应用程序也可以使用Web服务。例如, VB或.NET应用程序可以与Java Web服务进行通信, 反之亦然。 Web服务用于使应用程序平台和技术独立。
20)解释Web服务的松散耦合体系结构。
Web服务的使用者不直接绑定到该Web服务。 Web服务界面可以随时间变化, 而不会影响客户端与服务交互的能力。紧密耦合的系统意味着客户端和服务器逻辑彼此紧密联系, 这意味着如果一个接口发生更改, 则必须更新另一个。采用松散耦合的体系结构往往会使软件系统更易于管理, 并有助于简化不同系统之间的集成。
21)拥有基于XML的Web服务有什么优势?
使用XML消除了任何网络, 操作系统或平台绑定。因此, 基于Web服务的应用程序在其核心级别是高度可互操作的应用程序。
22)同步是什么意思?
同步用于将客户端绑定到服务的执行。在同步调用中, 客户端将阻塞并等待服务完成其操作, 然后再继续。另一方面, 同步操作有助于客户端调用服务, 然后执行不同的功能。
23)Web服务协议栈中服务传输层的用法是什么?
服务传输层用于在应用程序之间传输消息。
该层包括超文本传输协议(HTTP), 简单邮件传输协议(SMTP), 文件传输协议(FTP)和更新的协议, 例如块可扩展交换协议(BEEP)。
24)Web服务协议栈中服务描述层的用途是什么?
服务描述层用于描述特定Web服务的公共接口。当前, 服务描述是通过Web服务描述语言(WSDL)处理的。
25)Web服务协议栈中服务发现层的用途是什么?
服务发现层用于将服务集中到通用注册表中, 并提供易于发布/查找的功能。
当前, 服务发现是通过通用描述, 发现和集成(UDDI)处理的。
26)什么是远程过程调用(RPC)?
远程过程调用是指对由相关Web服务托管的方法的调用。
27)SOAP消息是什么意思?
SOAP消息是指从Web服务发送到应用程序的数据。 SOAP消息是一种XML文档, 该XML文档通过Web服务发送, 以将数据提供给以任何编程语言编写的客户端应用程序。
SOAP消息通过使用超文本传输协议发送。
28)SOAP文档中的<Envelope>元素有什么需求?
<Envelope>元素用作每个SOAP消息的根元素。
Root元素被称为XML文档中的第一个元素。
信封又分为两部分。一个是标题部分, 第二个是主体部分。标头包含路由数据, 该数据存储客户端的源地址和目标地址。因此主体包含实际数据。
29)解释Web服务协议栈及其层吗?
Web服务由四层组成, 如下所述:
服务运输:
该层是Web服务协议栈中的第一层, 用于在各种客户端应用程序之间传输XML文件。该层中使用的协议如下:
- HTTP(超文本传输协议)
- SMTP(简单邮件传输协议)
- FTP(文件传输协议)
- BEEP(块可扩展交换协议)
XML消息传递:
该层是基于XML模型的Web服务协议栈中的第二层, 其中消息以通用XML格式编码, 其他客户端应用程序可以理解。该层包括以下协议:
- XML-RPC
- SOAP(简单对象访问协议)
服务说明:
该层向公共接口提供服务描述, 例如Web服务的位置, 可用功能以及XML消息传递的数据类型。该层仅包含一种语言:
- WSDL:WSDL代表Web服务描述语言。
服务发现:
Web服务协议堆栈中的此层用于在Web上发布或查找Web服务。该层包括:
UDDI(通用描述, 发现和集成)。
30)解释Web服务架构?
Web服务框架包括三个不同的层。
这些层的作用是:
- 服务提供者:服务提供者的作用是使Web服务能够通过Web供客户端应用程序访问。
- 服务请求者:服务请求者是指Web服务的任何使用者, 例如任何客户端应用程序。通过在可用的网络连接上发送XML请求, 可以使用任何语言联系Web服务编写具有任何功能的客户端应用程序。
- 服务注册表:服务注册表是集中目录系统, 可帮助查找客户端应用程序的Web服务。用于查找现有的Web服务以及开发人员, 也可以创建全新的Web服务。
服务提供商使用名为”发布”的接口。 Service Registry的界面, 以使现有Web服务可用于客户端应用程序。通过服务注册表提供的所有信息, 服务请求者可以查找或调用服务。
31)什么是XML-RPC?
RPC是远程过程调用。它是用于调用Web上任何远程计算机上可用的过程或函数的方法。
XML-RPC是指用于通过使用XML消息传递来执行RPC的简单协议。它是连接不同环境并在各种计算机之间建立连接的出色工具。
32)解释哔哔声吗?
BEEP代表块可扩展交换协议。 BEEP是HTTP和FTP的替代方法。 BEEP被确定为为各种应用程序(例如即时消息传递, 网络管理, 文件传输)建立新协议。它被称为新的Internet工程任务组(IETF), 直接在TCP上分层。
下面列出了BEEP协议的一些内置功能:
- 认证方式
- 安全
- 错误处理
- 初始握手协议
33)访问Web服务有什么要求?
从任何应用程序访问Web服务的要求是应支持基于XML的请求和响应。因此, 无需安装任何用于访问Web服务的应用程序。
34)UDDI使用哪种语言?
UDDI使用称为WSDL(Web服务描述语言)的语言。
35)解释RESTful Web服务支持的不同HTTP方法吗?
下面列出了RESTful Web服务支持的一些常见HTTP方法及其功能。
- GET:对资源的只读访问。
- 放置:创建新资源。
- 删除:删除资源。
- POST:更新现有资源。
- 选项:获取对资源的支持操作。
- HEAD:仅返回HTTP标头, 没有人。
36)访问Web服务涉及哪些步骤?
这些是访问Web服务所涉及的步骤:
- 客户端应用程序将信息捆绑成一个SOAP消息。
- SOAP消息使用POST方法作为超文本标记语言的主体发送到服务器。
- Web服务将SOAP消息解压缩并将其转换为应用程序可以理解的命令。
- 应用程序处理该信息, 然后将其捆绑在一起, 并将其作为SOAP消息发送回客户端。
- 然后, 客户端将SOAP消息拆包以获得结果。
37)可以使用多少种通信协议来实现SOAP消息? SOAP消息是否与任何协议绑定?
通信协议是指用于通过Web传输信息的协议。通过使用传输协议, 来自不同背景的应用程序可以快速相互通信, 而无需了解各种系统的内部功能。 HTTP(超文本传输协议)可以用于实现SOAP消息, 而FTP(文件传输协议)可以用作可靠的传输机制。 SMTP和BEEP也可以用于传输机制。
SOAP消息不与任何协议绑定。它可以使用任何开放的传输协议。
38)在XML-RPC的上下文中, 术语”平台无关”和”多样化应用程序”如何相互关联?
术语”平台无关”和”多样化应用程序”彼此相关, 因为XML-RPC使用HTTP来通过Web传输SOAP消息。 HTTP是用于在Web上交换信息的通用标准协议。因此, 它导致跨平台支持/独立于平台。因此, 由于它与平台无关, 因此导致能够访问Web服务的各种应用程序。
39)解释Web服务提供商/发布者的角色。
Web服务提供者的作用是实现Web服务, 并使Web服务对请求者/使用者可用。
40)解释Web服务请求者/使用者的角色。
Web服务请求者/使用者的角色是利用Web服务提供者/发布者提供的预先存在的Web服务。 Web服务请求者/使用者通过向Web服务提供者发送SOAP消息来向Web服务提供者请求信息。然后In-Turn Web服务发布者将请求的信息以SOAP消息的形式发送回请求者。
41)写一个示例来演示Web服务提供者的工作。
这是Web服务提供者的示例:
using System;
using System.Web.Services;
using System.Xml.Serialization;
[WebService(Namespace="http://localhost/MyWebServices/")]
public class FirstService : WebService{
[WebMethod]
public int Add(int a, int b) {
return a + b;
}
[WebMethod]
public String SayHello() {
return "Hello World";
}
}
42)解释Web服务提供者/发布者和Web服务请求者/消费者之间的区别。
顾名思义, Web Service Provider会为各种应用程序提供Web服务, 而不论其背景如何, 顾名思义, Web Service Requestor / Consumer是Web Service的请求者。
Java OOP面试问题 |
Java字符串和异常问题 |
JDBC面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
1)
2)
3)
4)
5)
6)
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题
评论前必须登录!
注册