当前位置:文档之家› Webservice的应用与开发试卷

Webservice的应用与开发试卷

Webservice的应用与开发试卷
Webservice的应用与开发试卷

南京工业大学WebService的应用与开发试题(A)卷班级学号姓名

一、判断题(正确的打勾,错误的打叉,每题2分)

1.SOAP(Simple Object Access Protocol)协议是一个基于Xml的协议。它描述了数据类型的消

息格式以及一整套串行化规则,包括结构化类型和数组。(o)

2.客户端与Xml Web服务进行异步通信,向服务端发出服务请求的方法与接收web服务返回

的结构在同一线程中(e)

3.基于消息的体系的分布式应用中,可以使用异步消息处理也可以使用同步消息处理(o)

4.Web服务中使用SOAP表示数据的优点是SOAP提供了一种所有平台都支持的中间表示方

式,客户端只要将SOAP类型转换为自身平台可以理解的类型即可(o)

5.分布式应用程序节点越多,单点失败的可能性越大,整个系统发生故障的可能性越大(o)

6.Apache CXF为java WebService的一个框架,可以用它提供的命令行工具wsdl2java生成客

户端的代理类(o)

7.Xml DTD提供了一种避免元素名冲突的方法(e)

8.所有Xml文件只有一个根元素且不分大小写(e)

9.每个Xml文档分为两个部分:序言和文档元素。(o)

10.都是WSDL文档的关键元素。( e )

11.XML Web服务的交互可以使用Internet协议中所有的协议( e )

12.对于Web服务的请求可以穿越防火墙( o )

13.ajax可以跨域访问Web服务( o )

14.元素在WSDL中用于描述操作的引用输入/输出消息( o )

15.元素在WSDL中用于描述交互中已经被定义了类型的数据( o )

二、选择题(单、多项选择,每题2分)

1.Web Service需要以下哪些技术、协议的支持(ABCD )

A.HTTP

B.SOAP

C.XML

D. T CP/IP

2.下列选项中,哪个是XML合法的元素名(A )

A.TOM

B.18

C.[abc]

D.#name

3.下面关于Schema的描述,错误的是(C )

A.xml schema 的语法完全遵循xml的语法规范

B.xml schema 内容模式是开放的,可以随意扩充

C.xml schema不支持综合命名空间

D.xml schema 支持属性组

4.下述关于DOM描述,错误的是(C )

A.在DOM中,一般将XML的逻辑结构描述成树

B.DOM提供的对象和方法可以是任何编程语言

C.DOM不需要将XML整个文件读入内存

D.SAX是基于事件的,适合处理大型XML文件

5.下述关于JAXP的描述,错误的是( B )

A.JAXP是(java API for xml parsing)java处理xml类库

B.JAXP重新定义SAX和DOM的类库

C.JAXP定义了三个包:https://www.doczj.com/doc/3218659496.html,,org.xml.sax;javax.xml.parsers

D.JAXP基于w3c的规范创建,JAXP支持SAX、DOM和XSLT

6.Web Service应用程序具备哪些特征(ABCD)

A.封装性

B.松散耦合

C.使用标准协议

D.高度可集成

7.Web Service应用的优势体现在下列哪些场景(ABCD )

A.跨防火墙应用

B.应该程序集成

C.B2B集成

D.数据重用

8.Web Service系统结构基于哪三种逻辑角色(ABC )

A.服务提供者

B.服务注册中心

C.服务请求者

D.消息

9.关于SOAP消息结构的描述,错误的是(B )

A.Envelope元素,必选把此xml标识为一条SOAP消息

B.Header元素,必选,包含头信息

C.Body元素,必选包含所有调用和响应的信息

D.Fault元素,可选提供有关处理此消息所发生错误的信息

10.下列哪些是SOAP支持应用模式?(ABCD )

A.请求/响应模式

B.多消息异步响应模式

C.单向模式

D.事件通知模式

11.SOAP消息可包含如下元素:Envelope,Header,Body,Fault,attachment。其中必须出现的是( A )

A.Envelope,Body

B.Envelope,Header,Body

C.Envelope,Header,Body,attachment

D.Envelope,Header,Body,attachment,Fault

12.下面是WSDL文档结构的关键要素是:( ABC )

A.

B.

C.

D.

13.要注册xml web服务以供他人使用,需要注册的关键项是( A )

A.业务、服务以及webmethod

B.企业联系人和服务

C.xml web服务的url地址

D.以上说法都不对

14.关于MD5摘要算法的描述哪个是错误的( C )

A.MD5碰撞发生几率极小

B.MD5一般用于验证消息在传送过程是否篡改或密码是否正确

C.MD5码是可逆的

D.加密后的MD5为16个字节内容

15.请将下列过程使用Web Service的顺序排序( BADC )

A.生成代理类

B.找到WSDL文件

C.调用WebMethod

D.调用接口

三、简答题(每题4分)

1. SOAP消息可包含哪些元素,哪些元素是必须出现的?

必需的Envelope 元素,可把此XML 文档标识为一条SOAP 消息

可选的Header 元素,包含头部信息

必需的Body 元素,包含所有的调用和响应信息

可选的Fault 元素,提供有关在处理此消息所发生错误的信息

2.简要描述Web Services的主要技术SOAP和WSDL的作用?

SOAP(Simple Object Access Protocol,简单对象访问协议),是一种基于XML的轻量级消息交换协议。利用SOAP可以在两个或多个对等实体之间进行信息交换,并可以使这些实体在分散的分布式应用程序环境中相互通信。与XML一样,SOAP也独立于语言、运行平台或设备。

WSDL(Web Services Description Language,Web Services描述语言)标准是一种XML格式,用于描述网络服务及其访问信息。它用于定义Web Services以及如何调用它们(描述Web 服务的属性,例如它做什么,位于哪里和怎样调用它等)。

3.简述DOM、SAX、JDOM三种XML解析技术的特点。

DOM:

优点:①.易于使用

②.丰富的ASI集合,可用于轻松的导航

③.整棵树加载到内存,允许对XML文档进行随机访问

缺点:①.整个XML文档必须一次解析完

②.将整棵树加载到内存中成本比较高

③.一般的DOM节点对于必须为所有节点创建对象的对象类型绑定不太理想

适用场合:适用于需要修改XML文档的应用程序或XSLT应用程序(不可用于只读XML 的应用程序)

SAX:

优点:①.无需将整个文档加载到内存,所以内存消耗少

②.推模型允许注册多个ContentHandler

缺点:①.没有内置的文档导航支持

②.不能够随机访问XML文档

③.不支持在原地修改XML

④.不支持名字空间作用域

适用场合:适用于只从XML文档读取数据的应用程序(不可用于操作或修改XML文档)

JDOM:

优点:①.基于树的处理XML的Java API,把树加载在内存中

②.没有向下兼容的限制,因此比DOM简单

③.速度快,缺陷少

④.具有SAX的Java规则

缺点:①.不能处理大于内存的文档

②.DOM表示XML文档逻辑模型,不能保证每个字节真正变换

③.针对实例文档不提供DTD与模式的任何实际模型

④.不支持与DOM中相应遍历包

适用场合:适用于既具有树的遍历,也有SAX的Java规则,在需要平衡时使用

4. XML模式中定义复合类型时,可使用sequence、group、choice、all元素,请简述它们的区别。

区别是:

sequence:指定组中的子元素按照一定顺序出现。

group:用通用名组合成组。

choice:只能使用组中的子元素之一。

all:组中的子元素在父元素内可以按照任意顺序出现。

5.简述客户端调用web service的过程。

1.通过jdk自带的wsimport命令生成客户端代码

2.调用接口

3.调用WebServiceMethod.

四、程序题(20分)

编写一个客户/服务程序,用以实现如下功能:客户机向服务器发送10个整数,服务器计算这10个数字的平均值,然后将平均值回送给客户端.

服务端

public class Server {

public void setup(int port) throws Exception{

ServerSocket ss = new ServerSocket(port);

Socket client = ss.accept();

BufferedReader br= new BufferedReader(

new InputStreamReader(client.getInputStream()));

BufferedWriter bw= new BufferedWriter(

new OutputStreamWriter(client.getOutputStream()));

String num="";

double sum=0;

for(int i=0;i<10;i++){

num= br.readLine();

sum +=Double.parseDouble(num);

}

bw.write(sum/10+"");

bw.flush();

br.close();

bw.close();

}

public static void main(String[] args) throws Exception {

Server ss= new Server();

ss.setup(8080);

}

}

客户端

public class Client {

/**

* @param args

* @throws IOException

* @throws UnknownHostException

*/

public static void main(String[] args) throws UnknownHostException, IOException {

Socket client = new Socket("localhost",8080);

BufferedReader br= new BufferedReader(

new InputStreamReader(client.getInputStream()));

BufferedWriter bw= new BufferedWriter(

new OutputStreamWriter(client.getOutputStream()));

double d1=10;

double d2=10;

double d3=10;

double d4=10;

double d5=10;

double d6=100;

double d7=100;

double d8=100;

double d9=100;

double d10=100;

bw.write(d1+"");bw.newLine();

bw.write(d2+"");bw.newLine();

bw.write(d3+"");bw.newLine();

bw.write(d4+"");bw.newLine();

bw.write(d5+"");bw.newLine();

bw.write(d6+"");bw.newLine();

bw.write(d7+"");bw.newLine();

bw.write(d8+"");bw.newLine();

bw.write(d9+"");bw.newLine();

bw.write(d10+"");bw.newLine();

bw.flush();

String avg = br.readLine();

System.out.println("平均数为"+avg);

bw.close();

br.close();

}

}

相关主题
文本预览
相关文档 最新文档