Announcing the OData Explorer

What is the OData Explorer ?

As the name suggests, its a Silverlight application that can be installed in-browser and out of browser , and allows
you to perform ad-hoc and guided queries across a given OData Service.

Where can I get the sources for the OData Explorer ?

In the “OData SDK - Sample Code” section of https://www.odata.org/developers/odata-sdk

The Service I am browsing to doesn’t have a ClientAccessPolicy.xml or CrossDomain.xml file , Can I use the ODataExplorer against it ?

Yes, install the application out of browser by clicking the “Install” button and you will not need to have the CAP.xml or CrossDomain.xml file on the server-side to allow querying the OData Service.

Depending on whether you have a previous version of Silverlight installed, browsing to https://Silverlight.net/ODataExplorer will have one of the following effects :

a) If you have an older version of SL is installed, it will prompt you to upgrade to the required version of Silverlight and clicking on it will take you to the window shown below.

b) If you don’t have any version of Silverlight installed, you will see this icon :

Install_SL_NotInstalled

Clicking the “Upgrade” or “Install” button will take you to this screen.

Install_SL4

Now , don’t panic, since this is a Developer-only release of Silverlight 4 , you will need to install the developer runtime.

Click  the link highlighted in the picture about , and you will be taken to this page : https://silverlight.net/getstarted/silverlight-4/

In this page , select the “Windows Runtime” link under the “Get the Tools” section.

For brevity , here is the download link for the SL4 runtime.

Let’s look at an example of browsing to an OData Service using the explorer.

Browsing the Netflix OData Service using the explorer

1. Navigate to https://silverlight.net/ODataExplorer

2. In the prompt that turns up , enter details for the Netflix service as shown below

Enter_netflix_DataService

Clicking “Ok” in the above dialog box will download the metadata and the service document for the
netflix Data Service and show the Collections available in the Service document.

netflix_DataService_ReadyToUse

Selecting the name of a collection is going to cause the Explorer to hit the Collection root
and download the OData feed for that collection.
For example , selecting the CatalogTitles collection gives us this : 
CatalogTitlesSet_Downloaded

The navigation properties which are Links in the Data grid should allow you to drill further into the set.

Clicking on the “Raw” tab is going to show you details about the request and the raw view of the data.

You can change the content-type  to be JSON and see the response in JSON format.

rawView

I’ll be doing more blog posts about using the Explorer and look forward to your comments/feedback.
I’d be happy to answer any questions about the tech behind this tool and how you can use the
metadata parser library which we use in this tool to discover entity sets and other associated metadata.

Comments

  • Anonymous
    March 28, 2010
    Hey, I'm getting this error whilst trying to use this - http://img191.imageshack.us/img191/7619/screenshot20100329at023.png Any OData service returns the same error. ChrisNTR

  • Anonymous
    March 28, 2010
    Hi Chris, Can you install the application Out Of Browser and try to access the data service again ? We know of a couple of issues with different browsers which could cause this issue. This should be fixed in the next release soon enough. Thanks for your patience with this .

  • Anonymous
    September 10, 2010
    what about a new version with insert/delete functionality..is there a plan to release it some day? thanks.

  • Anonymous
    January 09, 2011
    Could you add authentication to the explorer?  I get authentication errors when using it against my odata service since it requires credentials.

  • Anonymous
    January 10, 2011
    Matt, We'll work on authentication for the next release of the explorer. Phani

  • Anonymous
    February 04, 2011
    In the Netflix example, if I try to drill further down into the dataset, I get an error saying "Object reference not set to an instance of an object" "at OData.Silverlight.EDMModel.GetEntityType(Entityset entitySet)..."

  • Anonymous
    April 12, 2012
    Trackback from SilverlightShow.net