You could create a wrapper class around the generated proxy class, and document the methods there. Then instead of using the generated proxy directly, you always use your wrapper class. E.g:
public class MyWebServiceWrapper
{
private MyWebService _service = null;
public MyWebServiceWrapper()
{
_service = new MyWebService();
}
///<summary>
/// doc goes here
///<summary>
public int MethodOne()
{
return _service.MethodOne();
}
}
This approach allows you to re-generate the proxy class whenever required.
Of course this means, that you will have to (manually) update the wrapper class whenever the interface of the web service changes. On the other hand, the wrapper class also allows you to add some centralized error handling, etc.