2

アクセスするために、Visual Studio で自分の Windows フォーム アプリケーションにサービス参照を追加しようとしました。

http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc

しかし、「go」ボタンをクリックすると、次の詳細でエラーが返されます。

>' http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc ' のダウンロード中にエラーが発生しました。リクエストは HTTP ステータス 400: Bad Request で失敗しました。メタデータに解決できない参照が含まれています: >' http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc '。リモート サーバーが予期しない応答を返しました: (400) 不正な要求。リモート サーバーがエラーを返しました: (400) 不正な要求。サービスが現在のソリューションで定義されている場合は、ソリューションを構築してから、サービス参照を再度追加してみてください。

しかし、最初にIEにアドレスを入力しても何も表示されませんが、アクセスして自分自身を認証すると

http://intranet.contoso.com/sites/Lab05

入力後、IEはいくつかのxml情報を表示します

http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc

住所。

これらの作業は、Windows がインストールされている同じマシン上の Windows Server 2008 R2 と Visual Studio 2012 で行います。

4

2 に答える 2

0

問題は、Web サービスを取得しようとした Web アプリケーションの認証モードにあります。Web アプリケーションの匿名を無効にする必要があります。IIS マネージャーでの Web アプリケーション認証の変更については、この投稿を参照してください。

https://sharepoint.stackexchange.com/questions/22349/listdata-svc-returns-error-400-bad-request-in-visual-studio

于 2013-10-23T15:03:58.377 に答える
0

私はまったく同じ問題に直面しました。私の場合(他の人に役立つかもしれません)、問題は、このような列挙値に「DataMemeber」属性を使用していることでした

[DataContract]
public enum Enum1 { 
     [DataMember]
     Enum_Value_Name_1
}

これが上記のエラーの原因でした。正しさのステップは

[DataContract]
public enum Enum1 { 
     [EnumMember]
     Enum_Value_Name_1
}

これは、ブラウザーでサービスの URL を要求することで発見しました。エラーの詳細はすべてそこに書かれていて、非常にきれいでした。

したがって、同様の問題がある場合、私のアドバイスは次のとおりです。ブラウザーから WCF サービス URL を要求すると、(特定の) 問題を解決する方法に関する詳細情報が得られます。

于 2015-09-15T10:52:43.140 に答える