RPC和Document Web服务之间的区别

本文概述

  • RPC样式
  • 文件样式
RPC和Document Web服务之间有许多区别。 RPC和Document之间的重要区别如下:
RPC样式1)RPC样式的Web服务使用方法名称和参数来生成XML结构。
2)很难对照模式验证生成的WSDL。
3)在RPC样式中, SOAP消息发送的元素个数相同。
4)RPC样式消息紧密耦合。
5)在RPC样式中, SOAP消息保留操作名称。
6)在RPC样式中, 参数作为离散值发送。
让我们看看RPC样式生成的WSDL文件。
WSDL文件:
在WSDL文件中, 它没有指定类型的详细信息。
< types/>

对于消息部分, 它定义名称和类型属性。
< message name="getHelloWorldAsString"> < part name="arg0" type="xsd:string"/> < /message> < message name="getHelloWorldAsStringResponse"> < part name="return" type="xsd:string"/> < /message>

对于soap:body, 它定义了use和namespace属性。
< binding name="HelloWorldImplPortBinding" type="tns:HelloWorld"> < soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/> < operation name="getHelloWorldAsString"> < soap:operation soapAction=""/> < input> < soap:body use="literal" namespace="http://srcmini.com/"/> < /input> < output> < soap:body use="literal" namespace="http://srcmini.com/"/> < /output> < /operation> < /binding>

文件样式1)可以根据预定义的架构来验证文档样式的Web服务。
2)在文档样式中, SOAP消息作为单个文档发送。
3)文档样式消息是松散耦合的。
【RPC和Document Web服务之间的区别】4)在文档样式中, SOAP消息丢失操作名称。
5)在文档样式中, 参数以XML格式发送。
让我们看看Document样式生成的WSDL文件。
WSDL文件:
在WSDL文件中, 它指定具有名称空间和schemaLocation的类型详细信息。
< types> < xsd:schema> < xsd:import namespace="http://srcmini.com/" schemaLocation="http://localhost:7779/ws/hello?xsd=1"/> < /xsd:schema> < /types>

对于消息部分, 它定义名称和元素属性。
< message name="getHelloWorldAsString"> < part name="parameters" element="tns:getHelloWorldAsString"/> < /message> < message name="getHelloWorldAsStringResponse"> < part name="parameters" element="tns:getHelloWorldAsStringResponse"/> < /message>

对于soap:body, 它仅定义use属性, 而不是名称空间。
< binding name="HelloWorldImplPortBinding" type="tns:HelloWorld"> < soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> < operation name="getHelloWorldAsString"> < soap:operation soapAction=""/> < input> < soap:body use="literal"/> < /input> < output> < soap:body use="literal"/> < /output> < /operation> < /binding>

    推荐阅读