2012-03-16 20 views
2

IISでWCF Restベースのサービスをホストする際に、以下の問題が発生します。WCF RESTとIIS Express 7.5が要求エラー(400)を返します

インタフェース:

[ServiceContract] 
public interface ITestService 
{ 
    [OperationContract] 
    [WebInvoke(Method = "GET", UriTemplate = "/GetEmployee/{userid}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Bare)] 
    IEnumerable<Employee> GetPlans(string userid); 
} 

TestService.svc.cs:

public class TestService : ITestService 
{ 
    public IEnumerable<Employee> GetEmployee(string userid) 
    {  
     return Employee 
    } 
} 

私はカッシーニのサーバーを使用する場合、それはJSON形式で細かいreturnштп結果を動作します。 URLは以下の通りです:

http://localhost:58764/TestService/TestService.svc/GetEmployee/2 

が、私はURLでIIS Expressの7.5でそれをホスト:

http://localhost/TestService/TestService.svc/GetEmployee/2) 

それは単純に言う:

「リクエストエラー

サーバーリクエストの処理中にエラーが発生しました。サービスへの有効なリクエストを作成するためのサービスヘルプページを参照してください。何の問題もなく、すべての利用可能なメソッドを返し

http://localhost/TestService/TestService.svc/help 

けどURL。

+0

オブジェクトEmployeeがシリアライズ可能であることを確認してください。時々cassiniを介したシリアル化は成功しますが、IIS上でホストされると失敗します。また、IISでホストされているときにサービスのトレースを有効にして、要求が失敗した理由を正確に把握してください。返されるデータのサイズにもよる可能性があります – Rajesh

答えて

0

この問題についてはわかりません。

.netフレームワークを再インストールできますか?

  • オープンのVisual Studio 2010のコマンドプロンプト
  • タイプ "ます。aspnet_regiis -i" キーを押し、IISは、WCFコンポーネントがインストールされている場合
  • 再起動が

  • チェックをIIS入力します。インストールされていない場合コマンド以下

  • ファイル名を指定して実行し、IIS C再起動:Windows通信基盤>サービス ModelReg.exe \ \ WINDOWS \ Microsoft.NET \ Frameworkの\ v3.0のをその後

てみてください-i。私はこれらの手順の後に解決された同様の問題があったと思う。

+0

ありがとうShailesh。私は手順を試しましたが、問題はまだ発生しました。その後、私はSVCTraceViewer.exeを試してみたところ、偽装の問題が原因であることが判明しました。ついに私はそれを解決しました。 – Naveen

関連する問題