<p>I'm busy writing a class that monitors the status of RAS connections.  I need to test to make sure that the connection is not only connected, but also that it can communicate with my web service.  Since this class will be used in many future projects, I'd like a way to test the connection to the webservice without knowing anything about it.</p>

<p>I was thinking of passing the URL to the class so that it at least knows where to find it.  Pinging the server is not a sufficient test.  It is possible for the server to be available, but the service to be offline.</p>

<p>How can I effectively test that I'm able to get a response from the web service?</p>

You are right that pinging the server isn't sufficient. The server can be up, but the web service unavailable due to a number of reasons.
To monitor our web service connections, I created a IMonitoredService interface that has a method CheckService(). The wrapper class for each web service implements this method to call an innocuous method on the web service and reports if the service is up or not. This allows any number of services to be monitored with out the code responsible for the monitoring knowing the details of the service.
If you know a bit about what the web service will return from accessing the URL directly, you could try just using the URL. For example, Microsoft's asmx file returns a summary of the web service. Other implementations may behave differently though.