5

RPC protocol uses TCP as an underlying protocol and HTTP again uses TCP as an underlying protocol. So why is HTTP is widely accepted?

Why does SOAP use HTTP as an underlying protocol - why not RPC?

Arpit Aggarwal
  • 21,748
  • 13
  • 80
  • 99
Programmer
  • 663
  • 7
  • 22

2 Answers2

3

Remote Procedure Calls (RPC) is not a protocol, it's a principle that is also used in SOAP.

SOAP is an application protocol that uses HTTP for transport (so it won't have to think about encoding, message boundaries and so on). One of the reasons to use SOAP over HTTP is that for HTTP you usually don't need firewall rules and that the HTTP infrastructure is mature and commonly rolled out.

CodeCaster
  • 131,656
  • 19
  • 190
  • 236
3

RPC does not require HTTP. Basically, RPC describes any mechanism that is suitable to invoke some piece of code remotely. The transport mechanism used to perform the RPC could be SOAP over HTTP. It could also be a REST call returning some JSON data over HTTP.

SOAP can also be used via Mails, and AFAIK (not sure here) the BizTalk Server should support this scenario. But even something exotical like trying SOAP over Avian Carriers can also be considered an RPC, although the latency of the latter may not be sufficient for real-world applications.

Think of an RPC as sending somehow some kind of message to a destination, in order to initiate a specific action and (optionally) getting some information back after the action has been completed. What prticular technology you choose to transmit these messages does not really matter.

JensG
  • 12,102
  • 4
  • 40
  • 51