RPC gegen Dokument
RPC und Document Style Web Services Description Language sind die zwei am häufigsten verwendeten Begriffe in Bezug auf Webdienste und das SOAP-Protokoll. Die Webdienste werden häufig mithilfe von WSDL-Dokumenten (Web Services Description Language) beschrieben. Die WSDL umreißt die unterstützten Webdienstvorgänge und -nachrichten und bindet sie an ein konkretes Netzwerkprotokoll und -nachrichtenformat. Die abstrakten Definitionen werden mit den Elementen "type", "message" und "portType" definiert. Die konkreten Spezifikationen werden mit den Elementen „Bindung“ und „Service“ beschrieben. Jedes dieser Elemente befindet sich in einem Definitionselement.
RPC- und Dokumentstil unterscheiden sich in ihren Bindungsstilen, die auch als SOAP-Bindungsstile bezeichnet werden. Die WSDL gibt den Bindungsstil als RPC oder Dokument an, abhängig von der SOAP-Nutzlast oder der Struktur des Elementinhalts. Der Dokumentstil ist immer die Standardeinstellung, da die SOAP-Nachricht als einzelnes "Dokument" im Element gesendet wird. Das RPC-Stilelement muss den von der SOAP-Spezifikation beschriebenen Regeln folgen. Gemäß den Regeln darf das nur aus einem Element bestehen, das nach der Operation benannt wird, und die Parameter werden als Unterelemente des Hauptelements interpretiert. Sowohl die RPC- als auch die Dokumentformate werden von den meisten SOAP-Clients akzeptiert. Die Verwendung von einem über dem anderen ist jedoch hauptsächlich die persönliche Entscheidung.
Das use-Attribut hilft auch bei der Unterscheidung zwischen RPC- und Dokumentstilen. Das use-Attribut beschreibt, wie beide Stile in XML dargestellt werden. Das use-Attribut beschreibt, ob die Nachrichtenteile verschlüsselt sind oder ob die Nachricht einer XML-Schemadefinition folgt. Je nach Auswahl gibt es vier mögliche Kombinationen von RPC- und Dokumentstilen. viz RPC / codiert, RPC-Literal, Document / Encoded oder Document / Literal. Nicht alle der vier Kombinationen sind in Gebrauch, und die Bevorzugung einer Kombination gegenüber der anderen ist eher ein persönliches Interesse.
Der Hauptunterschied zwischen Dokument- und RPC-Stilen besteht darin, dass der Client die Dienstparameter im Dokumentstil immer in einem einfachen XML-Dokumentformat anstelle eines diskreten Satzes von Parameterwerten an den Server sendet. Der Dokumentstil ist im Vergleich zum RPC-Stil lose gekoppelt.
Im Document / Literal-Stil kann die Nachricht immer mit einem beliebigen XML-Validator überprüft werden. Der Inhalt innerhalb des SOAP-Körpers ist im Schema klar definiert. Im RPC / Literal-Stil ist es schwierig, die übertragenen Daten anhand der SOAP-Nachricht zu überprüfen. Der Document / Literal-Stil verliert den Operationsnamen in der SOAP-Nachricht, während im RPC / Literal-Stil der Operationsname in der SOAP-Nachricht noch vorhanden ist Von vier verschiedenen Kombinationen sind die gängigsten Stile RPC / Literal und Document / Literal.
Zusammenfassung:
1. Im Dokumentstil wird die SOAP-Nachricht als einzelnes Dokument gesendet, während im
Im RPC-Stil kann der SOAP-Body mehrere Elemente enthalten.
2. Der Dokumentenstil ist lose gekoppelt, während der RPC eng gekoppelt ist.
3. Im Dokumentstil sendet der Client die Serviceparameter im einfachen XML-Format
Im RPC-Stil werden die Parameter jedoch als diskrete Werte gesendet.
4. Der Document / Literal-Stil verliert den Operationsnamen in der SOAP-Nachricht, während
Der RPC / Literal-Stil behält den Namen der Operation in der SOAP-Nachricht bei.
5. Im Document / Literal-Stil können Nachrichten immer mit einem beliebigen XML-Code überprüft werden
Validator, während im RPC / Literal-Stil die übertragenen Daten nur schwer durchzuprüfen sind
die SOAP-Nachricht.