Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I'm going to attempt to answer my own question, please feel free to point out if I'm still wrong.</p> <p>After doing some more googling, I found this: <a href="https://stackoverflow.com/questions/2650785/basichttpbinding-vs-wshttpbinding-vs-webhttpbinding?answertab=active#tab-top">BasicHttpBinding vs WsHttpBinding vs WebHttpBinding</a></p> <p>Which explains why I've been having trouble ruuning a Sessionful service in JSON format. It seems that the binding is the main issue: <strong>webHttpBinding</strong> is used for a pure RestFul service, and works well with JSON, there is little to no wrapping of the requests and response between the service and client, and per-call re-authentication is recommended. <strong>basicHttpBinding</strong> and <strong>wsHttpBinding</strong> are both used to add additional functionality and security to the service (wsHttpBinding is simply newer and has more features). If I understand correctly, <em><strong>both basic-and ws-binding depend on SOAP+XML in order to support the additional features, one of these features being session-support</strong></em>.</p> <p>Thus, a basicHttpBinding and wsHttpBinding service, is per definition not RESTful and a webHttpBinding service does not support sessions.</p> <p>So my options are:</p> <ol> <li>Stick with webHttpBinding and authenticate per-call (susceptible to replay attacks, <a href="http://en.wikipedia.org/wiki/Replay_attack" rel="nofollow noreferrer">http://en.wikipedia.org/wiki/Replay_attack</a>)</li> <li>Stick with webHttpBinding and use a DB server side to implement my own version of "sessioning". (Prefably by implementing an asymmetrical encryption such as RSA)</li> <li>Modify client to support SOAP+XML</li> </ol> <p>I'm leaning towards option number 2 at the moment.</p> <p>I'll still appreciate any comments, advice and/or criticism, anything to help me understand this better.</p> <p>Regards!</p>
 

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