Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I thought RESTful services could not expose metadata (at least not in a way I could create a service reference against and generate a proxy). Either I am incorrect in thinking this, or Microsoft pulled off a miracle... A reference can be created to ListData.svc in IDE and a proxy generated. How can I pull off similar functionality offerings for my custom RESTful services?

share|improve this question
add comment

1 Answer

up vote 1 down vote accepted

The List Data service is an OData-compliant web service. The ODATA specification includes support for metadata. To build your own ODATA web service just use the .Net Framework 4 WCF Data Services. The framework generates metadata for your entity model automatically.

The List Data service is based on .Net 3.5 ADO.Net Data Services. To build a custom SharePoint OData service, you can use the SharePoint Data Services factory. I discuss the various data factories in my blog post at http://blog.sharepointbits.com/2010/04/custom-wcf-services-in-sharepoint-2010_17.html. The post doesn't include a sample of a Data Service but. I have a custom service sample I can provide if you want it.

share|improve this answer
    
Any support of ODATA specification in 3.5? 4.0 is not an option for me at this time. –  dbobrowski Sep 26 '11 at 14:48
    
Yes, the SharePoint List Data service is based on ADO.Net Dara Services supported in .NET 3.51, it's just a bit harder to find documentation. Here is a blog post to get you started: thereforesystems.com/adonet-data-services-tutorial-with-aspnet –  Chris Beckett Sep 27 '11 at 1:53
    
For more info on ODATA see ODATA.org –  Chris Beckett Sep 27 '11 at 1:57
    
Thanks much!!!! –  dbobrowski Sep 27 '11 at 16:41
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.