Search code examples
wcfhttpodata

OData / WCF Data Service - HTTP 500 Error


I have created an OData/WCF service using Visual Studio 2010 on Windows XP SP3 with all current patches installed.

When I click on "view in browser", the service opens and I see the 3 tables from my EF model. However, when I add a table name ("Commands" in this case) to the end of the query string, rather than seeing the data from the table, I get an HTTP 500 error. (This error (HTTP 500 Internal Server Error) means that the website you are visiting had a server problem which prevented the webpage from displaying.).

I have not only followed the examples from 2 sites, but have also tried running the sample application that the blog poster sent me (that works on his machine), and still am not having any luck.

The blog post is at Exposing OData from an Entity Framework Model

Does anyone have an idea why this is occurring and how to resolve it?

Here is the output of the "View in Browser":

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
- <service xml:base="http://localhost:1883/VistaDBCommandService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
- <workspace>
  <atom:title>Default</atom:title> 
- <collection href="Commands">
  <atom:title>Commands</atom:title> 
  </collection>
- <collection href="Databases">
  <atom:title>Databases</atom:title> 
  </collection>
- <collection href="Statuses">
  <atom:title>Statuses</atom:title> 
  </collection>
  </workspace>
  </service>

Update:

In an effort to get this working, I have:

  1. Removed and re-installed IIS
  2. Ran the %WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis –i –enable command
  3. Ran the %WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe -r command.
  4. Created a new solution and followed the instructions very carefully to assure that I didn't mess anything up.

After all of this, I am still getting the same HTTP 500 error, with no entries of any kind in the Event Viewer.

Any other ideas?


Solution

  • I figured out that my problem was an issue with opening the database. The way I figured it out was to add the following to the servicename.svc.cs file in the InitializeService method:

    config.UseVerboseErrors=true;

    Thanks to all who tried to help.

    Eric