OData
Create and consume RESTful APIs in a simple and standard way
Latest posts
TechEd 2010 OData Service
TechEd North America 2010 is fast approaching (it starts Monday). This year we have added an OData service to the TechEd site, just like we did for MIX10 earlier this year. The service exposes the sessions, speakers and other associated information for the conference and is a great way to learn OData. Check-out the API page on the TechEd site here for more information on the service. If you are attending TechEd make sure you stop by the DMG booth (in the DAT section) and show the folks from DMG your OData App. Head over to https://www.odata.org/consumers to see the list of applications and libraries that can con...
OData Workshops in Raleigh, Charlotte, Atlanta, Chicago and NYC
Chris (aka Woody) Woodruff has organized a series of OData workshops to compliment the official OData Roadshow. This is highly recommended. So if for whatever reason you can’t make it to one of the OData Roadshow events, or you just can’t get enough OData, see if you can get along to one of Chris’ workshops. The workshops start in Raleigh tomorrow and finish in NYC on June 28th. Learn more and register here.
Service Operations and the WCF Data Services Client
Service Operations in WCF Data Services allow you to create WCF style methods on your service. In general it is good practice to do most of your CRUD operations directly on the entities exposed by your WCF Data Services model but every once in a while you may have a need to do some custom operation that isn’t covered by the model and this is where service operations come into the picture. Below is a simple service operation called CustomersByCity the returns a set of customers whose city matches the one passed as a parameter to the method: [WebGet] public IQueryable<Customer> CustomersByCity(str...
OData and Authentication – Part 3 – ClientSide Hooks
So far in this series we’ve looked at Windows Authentication. For both Windows and Basic Authentication, Data Services does the authentication handshake and subsequent sending of authentication headers – all without you directly setting a http header. It can do this because there is a higher level abstraction – the Credentials property – that hides the implementation details from you. All this works great for Windows and Basic Authentication. However if you are using a different authentication scheme, for arguments sake OAuth WRAP, the Credentials property is of no use. You have to get b...
Using Restricted Characters in Data Service Keys
If your Data Service includes entities with a string key, you can run into problems if the keys themselves contain certain restricted characters. For example OData has this uri convention for identifying entities: ~/Feed('key') So if the 'key' contains certain characters it can confuse Uri parsing and processing. Thankfully though Peter Qian, a developer on the Data Services team, has put together a very nice post that covers a series of workarounds for the problems you might encounter. Enjoy. Alex James Program Manager Data Services Team
OData and Authentication – Part 2 – Windows Authentication
Imagine you have an OData Service installed on your domain somewhere, probably using the .NET Data Services producer libraries, and you want to authenticate clients against your corporate active directory. How do you do this? On the Serverside First on the IIS box hosting your Data Service you need to turn on integrated security, and you may want to turn off anonymous access too. Now all unauthenticated requests to the website hosting your data service will be issued a HTTP 401 Challenge. For Windows Authentication the 401 response will include these headers: WWW-Authenticate: NTLM WWW-Authentica...
OData and Authentication – Part 1
Here on the Data Services team we hear many people ask about authentication. Questions like: The answer to these questions, depends a lot upon scenario, in fact each authentication scenario presents unique challenges: As you can see lots of questions. And there is a real risk that people will get their answer wrong. How we plan to help So over the next month or so we – the Data Services team - are going to write a series of blog posts detailing our findings as we investigate common OData Authentication scenarios. It’s hard to know exactly where this series will take us, because ...
ADO.NET Data Services Update for .NET Framework 3.5 SP1 – Refresh
The Data Services team has released a refresh of the ADO.NET Data Services Update for .NET Framework 3.5 SP1 today and provides fixes for issues reported to us in the update to .NET Framework 3.5 SP1. For Windows Vista, Windows XP, Windows Server 2003 and Windows Server 2008 the refresh can be downloaded here. For Windows 7 and Server 2008 R2 the refresh can be downloaded here. The installer for the refresh is cumulative with the original ADO.NET Data Services Update for .NET Framework 3.5 SP1 and can be installed both on systems with that update installed and on systems without the update installed. This update...
Windows Phone Developer Tools April 2010 Refresh and the OData Client
Two months ago we released an OData Library for the Windows Phone 7 – see the blog post here. If you have downloaded the recent April 2010 Refresh of the Windows Phone Developer Tools you will have found that there is an issue in the refresh of the tools with loading the OData library. If you reference the System.Data.Services.Client.dll assembly from the April 2010 Refresh of the tools and try to deploy your project you will see the following message (thanks to Tim Heuer for point this out): The specific text of the error message is “Could not load file or assembly ‘{File Path}System.Data.Services.Client.dll...