单选题 Which of the following statements does not correctly describe SOAP and Remote Procedure Calls?
【正确答案】 C
【答案解析】解析:C正确。简单对象访问协议(Simple Object Access Protocol,SOAP)的创建是为了代替远程过程调用(Remote Procedure Call,RPC)而允许应用程序通过Internet交换信息。SOAP是一个基于XML的协议,它在Web服务建立中对消息进行编码。SOAP允许运行在不同操作系统上的程序通过基于Web的通信方法进行通信。 A不正确。因为SOAP的创建是为了解决PRC在使不同应用程序的对象之间通过Internet通信时所引入的兼容性问题和安全问题。SOAP被设计成可以跨越几个操作系统平台、浏览器和服务器工作。 B不正确。因为SOAP和RPC的确都是为促使应用程序层的通信而创建的。SOAP是一个在Web服务建立中对消息进行编码的、基于XML的协议。因此假如有一台Windows 2000计算机,而你需要访问一个提供特定Web服务的Windows 2008计算机时,这两个系统上的程序使用SOAP就能进行通信,而不会出现互操作性问题。这种通信通过HTTP发生,因为HTTP基本上存在于当前所有的计算机上。 D不正确。因为这个说法是正确的:HTTP并非专为RPC而设计,而SOAP是为了与HTTP配合而设计的。SOAP实际上定义了一个XML模式或者一个与通信将如何发生有关的结构。SOAP XML模式定义了对象直接进行通信的方式。SOAP的优势之一在于:程序调用很有可能通过防火墙,因为HTTP通信通常是被允许的。这有助于确保客户机/服务器模型不会由于通信实体间的防火墙的拒绝而断开。