I’ve this WCF service hosted in a Sharepoint 2010 web application. The WCF has been created using the following factory:
Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressWebServiceHostFactory, Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
As you can see this is creating a REST-type service. Because we needed to consume it client-side via jQuery.
Now we also need to access it from a .NET project (WinForms). I’ve tried adding the Service Reference in VS but it doesn’t find anything. I guess that’s because it’s not a SOAP service right?
So how can I consume it in C# .NET project without breaking the existing jQuery support?
Yes, Add Service Reference does not work for WCF REST services. You have a couple of options here:
MultipleBaseAddressWebServiceHostFactorydoes, but you could look how it creates its endpoint(s) and recreate that in another factory – and then add the additional SOAP endpointWebChannelFactory<T>to create a proxy to the REST service (like you’d have one for a SOAP service).