<p>It there any article/book that defines upper bounded design limits for WS timeouts? Do you timeout at the server or recommend the client specific timeouts too?</p>

<p>Is there a common best practice like "never design WS that can take longer than 60 seconds, use an asynchronous token pattern"</p>

<p>I am interested in knowing what you do or your opinion too. </p>

Take the amount of data you are transfering via your web service an see how long the process takes.
Add 60 secs to that number and test.
If you can get it to timeout on a good connection then add 30 more seconds.
rinse and repeat.