2011-07-15 15 views
0

初めて、解決策がまだ完全に提供されていない問題が発生しましたが、そこに誰かが助けてくれることを願っています。401 ODataの更新と削除の権限がありません

私の問題はPUT and DELETE in RESTful WCF Service cause 401 Unauthorized errorに似ています。

つまり、WCF Data Serviceを使用して、更新または削除を試みるたびに401を取得します(問題なく読み取りと送信が可能)。上記のポストとの違いは、IISでWindows Azureでサービスをホストしていないため、そのソリューションを適用できないということです。

OData拡張機能を使用して.NETクライアントとレシートクライアントの両方で同じ問題(401:無効な資格情報、更新または削除を試みる)があります。しかし、.NETクライアントでは、UsePostTunneling = trueを設定することで問題を解決できます。

私のサービスでは、config.SetEntitySetAccessRule( "*"、EntitySetRights.All)を設定しました。

私はどのように私のレストレットクライアントの問題を解決することができます知っていますか?

答えて

0

最初に確認するのは、ハンドラでPUTおよびDELETE動詞が有効になっているかどうかを確認することです。完全なIISのWebロールからこれを実行しているのですか、またはHosted Web Core(HWC)などを使用していますか?通常、401以上の場合、WebDAVがマシン上にあり、PUTとDELETE動詞が競合しているため、405エラーが表示されます。あなたは、アプリケーションのWebDAVを無効にする必要があります。

あなたのweb.configであなたの認証方法もチェックします。私は 'none'タイプの原因の問題を見てきましたので、Formsに変更してください。

+0

ダンナリーに感謝します。しかし、私はWindows Azure(SQL Azureデータベースを使用しています)で私のサービスをホストしています。IISではありません。だから私はIISの設定が適用されないと推測している(私はこれを完全に新しいので、私は推測している)。私のレセプションクライアントで更新/削除ができるように、私は自分のサービスやクライアントで問題を解決しなければならないと思います(私の.NETクライアントではポストトンネリングを使って動作させることができます) 。 FYI:私のサービスを開発するために、私はhttp://msdn.microsoft.com/da-dk/data/gg192994でチュートリアルに従いました。 –

+0

Windows AzureはWindowsです... IISを実行しています。したがって、最も確実に適用されます。ただし、Webロールを使用していない場合は、その答えが少し変わることがあります。 *編集*、私はチュートリアルから完全なIISでWebroleを使用していることがわかります。私が言及した解決策をチェックしてください(ハンドラを見て、WebDAVモジュールを削除し、web.configの認証方法を確認してください) – dunnry

関連する問題