I have always used jQuery.ajax to retrieve data from listdata.svc or lists.asmx in SharePoint and from some custom web services. Now I will try Microsoft Ajax Library and especially ServiceReference in ASP.NET which can be added to ScriptManager. Then javascript proxy should be created automatically.
Here is my ServiceReference in the masterpage:
<asp:ScriptManager id="ScriptManager" runat="server"
EnablePageMethods="false"
EnablePartialRendering="true"
EnableScriptGlobalization="false"
EnableScriptLocalization="true">
<Services>
<asp:ServiceReference Path="/_vti_bin/lists.asmx" />
</Services>
</asp:ScriptManager>
When I try this I get the 401 error:
GET http://dev/_vti_bin/lists.asmx/jsdebug 401 (Unauthorized)

Has anyone tried ServiceReference in SharePoint?
EDIT (2012-02-20): I want to call a custom wcf like Wictor Wilén. It works very well with jquery ajax. My custom.svc file is:
<%@ ServiceHost
Debug="true"
Language="C#"
Service="Takana.WCFService,Takana, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0c0327f8b01d9792"
Factory="Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
I tried to replace with a simple .NET example, with no success:
<%@ ServiceHost
Debug="true"
Language="C#"
Service="Takana.WCFService"
Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory" %>