当前位置:文档之家› 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.<definitions>、<type>、<message>、<output>都是WSDL文档的关键元素。

( e )11.XML Web服务的交互可以使用Internet协议中所有的协议( e )12.对于Web服务的请求可以穿越防火墙( o )13.ajax可以跨域访问Web服务( o )14.<operations>元素在WSDL中用于描述操作的引用输入/输出消息( o )15.<message>元素在WSDL中用于描述交互中已经被定义了类型的数据( o )二、选择题(单、多项选择,每题2分)1.Web Service需要以下哪些技术、协议的支持(ABCD )A.HTTPB.SOAPC.XMLD. T CP/IP2.下列选项中,哪个是XML合法的元素名(A )A.TOMB.18C.[abc]D.#name3.下面关于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定义了三个包:,org.xml.sax;javax.xml.parsersD.JAXP基于w3c的规范创建,JAXP支持SAX、DOM和XSLT6.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,BodyB.Envelope,Header,BodyC.Envelope,Header,Body,attachmentD.Envelope,Header,Body,attachment,Fault12.下面是WSDL文档结构的关键要素是:( ABC )A.<portType>B.<binding>C.<service>D.<input>13.要注册xml web服务以供他人使用,需要注册的关键项是( A )A.业务、服务以及webmethodB.企业联系人和服务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.调用WebMethodD.调用接口三、简答题(每题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();}}。

相关主题