《WebServices技术》模拟试题2及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《WebServices技术》模拟试题2及答案
一填空题(每空2分,合计20分)
1.Microsoft把Web服务视为是编程模型的基石。

答案:.NET
解释:Microsoft关于Web服务的定义为:Web服务是一个向其他应用提供数据和服务的应用逻辑单元。

应用程序通过无处不在的Web协议和数据格式访问Web服务,如HTTP、XML和SOAP,而无须关系每个Web服务是如何实现的。

Web服务把基于构建开发的长处与Web相结合,并且是.NET编程模型的基石。

2.&lt在XML中表示。

答案:<
解释:在XML中,&lt;&gt;&amp;&apos;&quot;分别表示<、>、&、‘、“。

3.元素内容模型有三种:只含子元素,和空元素。

答案:混合元素
解释:XML中元素的规定,元素内容模型有三种:只含子元素,混合元素和空元素。

4.DTD中使用代表任意个,零个或多个。

答案:*
解释:DTD规定了XML文档的有效性,其中*代表任意个,零个或多个。

5.在XML模式中,一个子元素的出现次数没有限定,则属性maxOccurs 的值应为。

答案:unbounded
解释:子元素的最大出现次数使用maxOccurs限定,如果不限定,则其值为unbounded。

6.SOAP的中文全称是。

答案:简单对象访问协议
解释:SOAP是Simple Object Access Protocol简单对象访问协议的缩写。

7.SOAP封套的属性被用来指定编码规则及其作用范围。

答案:encodingStyle
解释:通过SOAP封套的encodingStyle(编码形式)属性来指定编码规则及其作用范围。

它定义为全局属性,可以出现在任何元素中。

同一个SOAP 消息中,可混合使用不同的编码形式。

8.在WSDL文档中,元素描述了Web服务的接口。

答案:portType
解释:在WSDL中,抽象接口portType描述了终端的处理能力(干什么),可以支持任何数量的操作operation,操作由一组消息message定义,表达了操作的交互方式。

9.WSDL中的服务接口定义在UDDI中表示为。

答案:tModel
解释:WSDL中的服务接口定义表示为tModel,服务实现定义表示为bindingTemplate元素。

10.使用查询限制器能够区分大小写。

答案:caseSensitiveMatch
解释:UDDI规范提供了查询API:find和get_Details,分别和business, service,binding,tModel相对应。

所有find操作的共同点:可选maxRows:限制UDDI操作者返回的结果数量;可选findQualifiers:findQualifier的容器,查询限制器,其中包含caseSensitiveMatch区分大小写。

二选择(每题2分,合计20分)
1.在面向服务的体系结构中,基本操作不包含
A.查找
B.发布
C.描述
D.绑定
答案:C
解释:在面向服务的体系结构中,基本操作包含查找、发布、绑定。

C符合题意。

2.Web服务可以基于不同的网络协议,最常用的是
A.FTP
B.HTTP
C.SMTP
D.MQ Series
答案:B
解释:线栈决定服务请求者如何将消息发送给服务提供者。

一系列网络协议构成了线栈的基础,线栈只是Web服务的基本设施,最常用的是HTTP。

B符合题意。

3.SAX采用的语法分析器标准是
A.拉出式
B.混合式
C.一步式
D.压入式
答案:D
解释:语法分析模型分为拉出式、压入式、一步式、混合式。

压入式是语法分析器在处理XML文档时,产生一系列的事件,通知应用程序的事件回调函数来处理。

已有压入式语法分析器标准XML简单API(SAX)。

D符合题意。

4.Axis支持的消息处理模式不包含
A.混合型
B.单向型
C.异步型
D.请求/响应型
答案:A
解释:Axis支持多种消息处理模式:请求/响应型,单向型,异步型。

A符合题意。

5.在Web服务的安全性中,关于公证服务的说法正确的是
A.公证服务可以保证机密性
B.公证服务作为贸易双方之间的SOAP中间节点
C.公证服务可以保证完整性
D.公证服务只为顾客提供服务
答案:B
解释:BASIC-AUTH和SSL、SOAP签名、SOAP加密,可以实现机密性、认证、完整性和不可否认性,但是无法实现消息接收方的不可否认性,需要引入公证服务作为SOAP中间节点。

B符合题意。

6.关于WSDL文档,错误的说法是
A.WSDL文档中包含了服务接口定义
B.WSDL文档中可包含多个portType元素
C.WSDL文档中可包含Service元素
D.WSDL文档不包含Web服务的网络地址
答案:D
解释:WSDL模式定义的主要元素:(1)portType:Web服务的抽象接口定义,每个子元素定义了一个抽象的方法签名;(2)message:定义了由方法签名或操作指定的一组参数,可以分解为part;(3)types:定义了Web服务使用的数据类型集合;(4)binding:包含了如何将特定的数据格式与协议相结合;(5)port:表示绑定如何部署在特定端点上;(6)service:代表端口的集合。

D符合题意。

7.关于UDDI,说法错误的是
A.UDDI和XML无关
B.UDDI可以简化服务的发现
C.UDDI提供了商务注册
D.UDDI提供了引用类型注册
答案:A
解释:UDDI是基于XML的。

故A符合题意。

8.在商务实体信息中,描述调用服务的详细信息的是
A.红页
B.黄页
C.绿页
D.白页
答案:C
解释:businessEntity商务实体信息包含:白页是实体的联络信息;黄页是实体提供的服务类型和服务位置的分类信息;绿页是调用服务的详细信息。

C符合题意。

9.关于RPC的说法,错误的是
A.支持一对一的交互
B.可在消息传递之上实现
C.必须是同步的
D.没有排队机制
答案:C
解释:RPC和消息传递的区别有:(1)RPC把应用层的特定数据和远端代码相结合,消息传递则主要关心数据。

RPC不需要进行数据编码和解码,消息传递则不同,因此可做到语言和平台无关;(2)RPC使用特定用途的API,随着被调用目标的接口而变化,消息传递使用通用的API;(3)RPC是直接调用,没有排队机制,后端必须运行并能通过已知地址访问;(4)RPC的数据变化可能导致系统崩溃。

RPC和消息传递的相似点有:(1)RPC可在请求-响应的消息传递之上实现;(2)RPC不一定是请求-响应的方式,也可以
是单向的;(3)RPC不一定要同步:系统可自动生成线程,在后台等待RPC 响应;(4)RPC和消息传递存在许多相同的服务质量需求,如安全和事务管理;(5)直接同步的一对一的消息传递可以通过RPC模拟。

C符合题意。

10.UDDI2.0中两个businessEntity之间的的关系不能是
A.parent-child
B.peer-peer
C.identity
D.team-team
答案:D
解释:UDDI2.0中两个businessEntity之间的的关系有:parent-child,peer-peer,identity。

D符合题意。

三判断(每题2分合计20分)
1.HTML和XML都源自于SGML。

【】答案:V
解释:HTML和XML都是SGML的应用:前者用来定义数据的显示方式,后者用来定义数据的结构。

2.服务请求者负责创建Web服务描述。

【】
答案:X
解释:服务请求者负责查找发布在一个或多个服务注册处的服务描述,并负责利用服务描述,绑定或调用由服务提供者提供的Web服务。

3.名字空间是实现XML分布式应用的关键技术。

【】
答案:V
解释:在XML分布式应用中,如果具有公共名字(如description、item等)的元素在不同的XML文档中代表不同的含义,那么产生的复合XML文档就会发生名字冲突。

此时需要名字空间来解决冲突。

4.DTD规定了XML文档的良定义性。

【】
答案:X
解释:DTD规定了XML文档的有效性。

5.在Axis中,反序列化器完成原始数据到XML的转变。

【】
答案:X
解释:在Axis中,反序列化器完成XML到原始数据的转变。

6.电子商务中信息的机密性是指所交换的信息不会被窃听。

【】
答案:V
解释:在电子商务中,为了确保贸易伙伴间消息交换的安全性,必须保证安全性需求,其中机密性是指交换信息不被窃听。

7.XML-C14N方法能够检查XML文档在语义上是否相同。

【】
答案:V
解释:XML-C14N标准化方法是指:为物理上不同但逻辑上相同的XML 文档产生标准的表示形式,能够检查两份XML文档在语义上是否相同。

8.在UDDI规范中,发布API是不需要进行认证的操作。

【】
答案:X
解释:在UDDI规范中,发布API是需要进行认证的操作。

9.查询限制器sortByNameAsc代表根据名称降序排序。

【】
答案:X
解释:查询限制器sortByNameAsc代表根据名称升序排序。

10.UDDI2.0允许第三方指定新的分类法并提供验证服务。

【】
答案:V
解释:相对UDDI1.0,UDDI2.0所作修改包含:第三方分类法;商务关系模型;查询API;发布API;杂项。

四简答(每题10分合计40分)
1.简述Web服务的定义。

答案:
Web服务是独立于平台和实现的软件构件,可以用服务描述语言来描述,在服务注册处发布,通过标准的机制在设计或运行时被发现,可以通过声明API调用,通常跨网络,可以与其他服务组合。

解释:需要指明Web服务的特点,包括:独立于平台,软件构件,服务描述,注册发布,设计或运行时被发现,可以与其他服务组合。

2.什么是WSDL?它描述了Web服务的什么属性?
答案:
Web服务定义语言(WSDL)用于描述Web服务的技术调用语法。

WSDL 服务描述是一个XML文档,与WSDL模式定义一致。

它不是完整的服务描述,只包括了服务结构的原始技术描述,是Web服务的IDL。

WSDL描述Web服务的三个基本属性:服务干什么:服务提供的操作方法;如何访问服务:数据格式、访问操作的协议;服务位于何处:特定协议对应的网络地址。

解释:需要说明WSDL服务描述与XML的关系,指明其并不是完整的服务描述,只是一个Web服务的IDL。

WSDL描述Web服务的三个基本属性,每个2分。

3.在库存检查Web服务中,客户向公司查询产品是否有现货,还需要公司返回一封Email,用来确认库存检查的结果。

如何实现这一功能?
答案:
通过扩展SOAP可以实现这一功能:
(1)客户端:在库存检查请求中包含Email元素。

反映在SOAP消息头中包含了接收确认信息的邮件地址。

(2)服务端:现有的库存检查服务不需要做任何修改(通过修改Axis 配置,增加消息头子项处理器实现Email发送)。

解释:客户端与服务端各5分:前者需要在SOAP消息头中包含接收确认信息的邮件地址,后者增加消息头子项处理器实现Email发送。

4.SkatesTown公司希望能够独立检查客户发票上的总金额,实现了基于DOM的checkInvoice操作,具体代码如下,试分析其具体功能。

public void checkInvoice(InputStream invoiceXML)throws Exception{ double runningTotal=0.0;
DocumentBuilderFactory factory=
DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse(invoiceXML);
NodeList itemList=doc.getElementsByTagName("item");
for(int i=0;i<itemList.getLength();i++){
Element item=(Element)itemList.item(i);
Integer qty=Integer.valueOf(item.getAttribute("quantity"));
Double price=Double.valueOf(item.getAttribute("unitPrice"));
runningTotal+=qty.intValue()*price.doubleValue();
}
Node nodeTax=doc.getElementsByTagName("tax").item(0);
runningTotal+=doubleValue(nodeTax);
Node nodeShippingAndHandling=
doc.getElementsByTagName("shippingAndHandling").item(0);
runningTotal+=doubleValue(nodeShippingAndHandling);
Node nodeTotalCost=doc.getElementsByTagName("totalCost").item(0);
double total=doubleValue(nodeTotalCost);
if(Math.abs(runningTotal-total)>=0.005){
throw new Exception(
"Invoice error:total is"+Double.toString(total)+
"while our calculation shows a total of"+
Double.toString(Math.round(runningTotal*100)/100.0));
}
}
答案:
(1)获得DOM语法分析器实例,并对XML文档进行分析;
(2)得到所有item元素的列表;
(3)计算订单小计,方法是对每个item提取quantity数量及unitPrice 单价属性,相乘后累加;
(4)累计值加上tax消费税、shippingAndHandling运输及手续费;
(5)读取totalCost发票总金额;
(6)计算总金额和累计值之间的误差,超过0.005就返回异常。

解释:需要给出checkInvoice操作的主要功能,流程先后次序正确即可。

相关文档
最新文档