Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The term "web service" is often used for two different things.</p> <ul> <li><p>A technology: using HTTP(S) as a protocol for interprocess communication. </p></li> <li><p>An architectural approach: Service Oriented Architecture. </p></li> </ul> <p>If we're talking about web service as just a technology then you have a lot of options: you can use HTTP GET (this is the one using URL params) or HTTP POST (the data is in the body of the HTTP message). For HTTP POST the payload can be SOAP or just any propriatery stuff.</p> <p>If we're talking about service oriented approach and web services as a tool then HTTP+SOAP is the most standard way to go.</p> <p>If we consider a web service method just an implementation of a service operation then use the signature below which emphasizes this approach:</p> <pre><code>public FooResponse FooOperation(FooRequest request); </code></pre> <p>It means that an operation has a request and a response document (even if any of these are empty) and you can separate the service contract (what operations do you expose) and the data contract (how do you compose the request and response messages). See this article for more details about it: <a href="http://msdn.microsoft.com/en-us/library/ms954638.aspx" rel="nofollow noreferrer">Principles of Service Design Service Patterns and Anti-Patterns</a> </p> <p>Conclusion:</p> <ul> <li>If you don't care about SOA just want to invoke a method via HTTP then Option 2 is clear and simple.</li> <li>But if you're building SOA services then use the "document-centric" signature. Option 1 is a mixture of both and is not recommended.</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload