問題タブ [webhttpbinding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ASP.NET メンバーシップ プロバイダーを使用して WCF REST (webHttpBinding) サービスへのアクセスを制限していますか?
wsHttpBindings で ASP.NET メンバーシップ プロバイダーを使用する方法については、Web 上で多くの資料を見つけましたが、webHttpBindings で ASP.NET メンバーシップ プロバイダーを使用することについての言及は見たことがありません。
次の 2 つのシナリオで機能するシステムを探しています。
- ユーザーは asp.net Web サイトにログインしており、Web サイトはサービスを呼び出しています。
- ユーザーは REST 経由でサービスに直接アクセスします。
これは、組み込みのフレームワークを使用して (つまり、構成のみで) 可能ですか? その場合、サービスを構成するにはどうすればよいですか? また、ユーザーは資格情報を REST サービスにどのように渡すのでしょうか?
wcf - ユーザー資格情報を WebClient から WCF REST サービスに渡すにはどうすればよいですか?
WCT REST サービスを公開しようとしていますが、有効なユーザー名とパスワードを持つユーザーのみがアクセスできます。ユーザー名とパスワードは SQL データベースに保存されます。
サービス契約は次のとおりです。
WCF 構成は次のとおりです。
Silverlight アプリケーション内の WebClient クラスを介してサービスにアクセスしています。ただし、ユーザー資格情報をサービスに渡す方法を理解できませんでした。client.Credentials のさまざまな値を試しましたが、カスタム バリデーターでコードをトリガーするものはないようです。次のエラーが表示されます: 基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。
ここに私が試したいくつかのサンプルコードがあります:
セキュリティ モードを [なし] に設定すると、すべてが機能します。他の clientCredentialType 値も試しましたが、どれも機能しませんでした。また、サービスがチャンスを得る前に IIS がユーザーを認証しようとすることに関連する問題を排除するために、WCF サービスを自己ホストしました。
根本的な問題が何であるかについてのコメントは大歓迎です。ありがとう。
更新: Mehmet の優れた提案に感謝します。これが私が持っていたトレース構成です:
しかし、Silverlight クライアントからのメッセージは表示されませんでした。https と http については、次のように https を使用しました。
ただし、SSL 証明書は構成しませんでした。これが問題ですか?
c# - 複数の可能なREST応答を消費するWCF
最近、WCFでのWebHttpBindingの使用法について読み始め、RESTサービスを利用できるようになりましたが、これについては少し困惑しています。
特定のAPIに対して単一のリクエストを行うサービスを作成していますが、多くの応答の1つを返すことができます。
たとえば、一般的な応答は次のとおりです。
ただし、送信要求で何かが無効であるか、応答サービス自体に何らかの問題が発生している場合、応答は次のようになります。
Pedram Rezaeiは、RESTサービスの利用について素晴らしい投稿をしました。ここから、ほとんどの情報を借りています。私の知る限り、オブジェクトにシリアル化可能な属性が定義されている限り、オブジェクトを作成できます。問題は、作成するクラス(ErrorResponse / ActualResponse)の条件がないことです。
最初の要求を送信し、逆シリアル化が発生しない場合、またはより洗練されたアプローチがある場合にエラーをキャッチする、ある種のTryParse機能を検討する必要があるかどうかはわかりません。
私はWCFの世界にかなり慣れていないので、何かを見落としている可能性があります。
wcf - WebMessageBodyStyle.Wrapped に使用する構文は何ですか?
HttpWebRequest でラップされた本体の構文に関するドキュメントが見つかりません。
wcf - セルフホストのWCFサービスでASP.NETMembershipProvider/ RoleProviderを使用することは可能ですか?
カスタムASP.NETMembershipProviderとRoleProviderを使用して、サービスのセキュリティを処理しようとしています。このサービスは、IISではなく、コンソールアプリで自己ホストされます。基本認証でwebHttpBindingを使用しています。プロバイダーを使用するようにserviceCredentialsとserviceAuthorizationを構成しました。プロバイダーは実際に初期化されます。しかし、WCFは私の設定を無視しているようで、ユーザーをWindowsにログインさせようとします。私はイベントログからそれを理解し、Windowsのクレデンシャルをサービスに送信することで証明しました。以下に、私の構成とデバッグのスクリーンショットを示します。なぜ認証にWindowsを使用しているのですか?たぶん、IISなしでASP.NET認証プロバイダーを使用することは不可能ですか?
それは私がデバッグするときに見るものです。なぜ認証にWindowsを使用しているのですか?
クレデンシャル画面http://img81.imageshack.us/img81/1289/credentials.gif
wcf - WCF webHttp の動作で HEAD 動詞を受け入れる方法は?
Windows サービスでホストされている WCF サービスがあります。私はそれに webHttp 動作を持つ webHttpBinding を追加しました。GET 要求を送信するたびに、必要な http 200 を取得します。問題は、HEAD 要求を送信するたびに http 405 を取得することです。
HEAD に対しても http 200 を返すようにする方法はありますか? それは可能ですか?
編集:それは操作契約です:
rest - web.config で maxReceivedMessageSize を設定できません
過去 2 時間の 400 - BadRequest コードを調査しました。bindingConfiguration 属性が正しく設定されていることを確認するための多くの提案があり、私の場合はそうです。
今、私がいる建物を破壊する前に、あなたの助けが必要です :-)
私は WCF RestFull サービスを実行します (非常に軽量で、インスピレーションのためにこのリソースを使用します: http://msdn.microsoft.com/en-us/magazine/dd315413.aspx )。投稿動詞。
現在、真のクライアントを実装する前に、Fiddler のリクエストビルダーのみを使用しています (これは混合環境であるため)。
65K より小さい XML に対してこれを行うと、正常に動作します。それより大きい場合、次の例外がスローされます: 着信メッセージの最大メッセージ サイズ クォータ (65536) を超えました。クォータを増やすには、適切なバインド要素で MaxReceivedMessageSize プロパティを使用します。
これが私のweb.configファイルです(これには(絶望的な時代のためのクライアントタグも含めました!)):
65K を超える XML での呼び出しを成功させるための助けを前もって感謝します ;-)
wcf - WCF WebHttpBinding テスト ツール
私は WCF RESTful サービスを開発しており、クライアント コードを書かずにこれらのサービスを呼び出すためのテスト ツール/呼び出し元を探しています。RESTful サービス、特に WCF WebHttpBinding を使用するサービスを呼び出すためのツールを紹介してもらえますか?
wcf - WebHttpBinding セキュリティの質問
RESTful サービスを作成し、認証を実装しました。ユーザー名とパスワードを受け入れ、要求されたサービスへのアクセスを許可します。それは正常に動作します。ここで、サービスの上で SSL を使用したいと考えています。このために、証明書を作成し、IIS で必要な設定を行いました。しかし、私のサービスは機能していません。私は webHttpBinding を使用しています。
サービス側の私の Web.Config は次のとおりです。
そして、クライアント側のapp.configには
クライアントを実行しようとすると、提供された URI スキーム Https が無効です、http が必要と表示されます。
また、VS2008 から Web サービスを呼び出そうとすると、「WebHttpBinding をバインドするエンドポイントのスキーム https に一致するベース アドレスが見つかりませんでした。登録されているベース アドレス スキームは [http] です。」と表示されます。
IIS から Web サービスを実行しようとすると、「バインディング WebHttpBinding を持つエンドポイントのスキーム http に一致するベース アドレスが見つかりませんでした。登録されたベース アドレス スキームは [https] です。」と表示されます。
私はグーグルを試し、提案されたすべてのことを試しましたが、うまくいきませんでした。助けてください。
前もって感謝します, タラ・シン