Wie bei WCF üblich, liefert auch ein WCF Data Service im Standard keine aufschlussreichen Fehlermeldungen. Man erhält nur eine Rückmeldung mit dem Text „Fehler beim Verarbeiten dieser Anforderung“ (siehe Listing 1).
Listing 1
HTTP/1.1 500 Internal Server Error Server: ASP.NET Development Server/10.0.0.0 Date: Wed, 18 Jul 2012 13:46:08 GMT X-AspNet-Version: 4.0.30319 X-Content-Type-Options: nosniff DataServiceVersion: 1.0; Content-Length: 233 Cache-Control: private Content-Type: application/xml;charset=utf-8 Connection: Closehttp://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> Fehler beim Verarbeiten dieser Anforderung.
Wenn man wirklich wissen will, was auf dem Server schief gegangen ist, muss man in InitializeService() ergänzen: config.UserVerboseErrors = true. Dann gibt es das ganze Exception-Objekt inklusive Stack Trace. In Produktionsumgebungen sollte man hier aber vorsichtig sein mit der Herausgabe dieser Informationen an dir Clients (siehe Listing 2).
Listing 2
HTTP/1.1 500 Internal Server Error Server: ASP.NET Development Server/10.0.0.0 Date: Wed, 18 Jul 2012 14:00:14 GMT X-AspNet-Version: 4.0.30319 X-Content-Type-Options: nosniff DataServiceVersion: 1.0; Content-Length: 4421 Cache-Control: no-cache Content-Type: application/xml;charset=utf-8 Connection: Closehttp://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> Fehler beim Verarbeiten dieser Anforderung. The underlying provider failed on Open. System.Data.EntityException at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)… Cannot open database "WWWings6_3a" requested by the login. The login failed. Login failed for user 'ITVHS'. System.Data.SqlClient.SqlException …
Es gibt übrigens leider Fehlerfälle, in denen man dennoch nur ein „The server encountered an error processing the request. See server logs for more details.“ zurückbekommt.