問題タブ [basichttpbinding]
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.
wcf - ASMX サービス パラメーター (文字列型) は、WCF クライアントから呼び出されたときに null 値を持ちます
BasicHttpBinding で WCF を使用して、既存の ASMX サービスを使用しようとしています。SvcUtil を使用して開始し、コントラクト定義インターフェイスと構成をプロジェクトに抽出しただけで、SvcUtil によって生成されたすべての既定の構成値を残しました。以下は私が現在持っているものです:
契約:
そして設定:
私が抱えている問題は、asmx サービスによって受信された SendOrder サービスの strOrder のパラメーター値が常に null であることです (私は間違いなく最後に null を提供していません:)
明らかな何かが欠けていますか?これをデバッグするのに適した場所はどこですか?
EDIT SvcUtilへのシリアライザースイッチにXMLSerializerを使用
wcf - WCF-> IIS 7.0部分信頼ホスティング(.svc)-> BasicHttpBinding->認証(ユーザー名/パスワード)->ASP.NETメンバーシッププロバイダー->SSLなし
基本的に私の要件は次のとおりです。
- 部分的な信頼を使用してIIS7.0でホストされるWCFサービスアプリケーション
- BasicHttpBindingで公開されたエンドポイント
- 基本認証(ユーザー名/パスワード)を有効にしたい
- ユーザー認証にASP.NETメンバーシップを使用したい
- SSLを設定したくない
私はいくつかのチュートリアルを見ましたが、彼らは最初にSSLを有効にすることについて話しています。サンプルのWCFサービスを作成でき、ホストは部分的な信頼を備えたIIS7.0上にあります。問題はありません。それは私が苦労している認証の部分です。
誰かが何か援助を提供したり、関連情報が見つかる場所を教えてもらえますか?
wcf - BasicHttpBindingのWCFサービスで認証する方法は?
これらのサービスは、.net 1.1 および .net 2.0 を使用してアクセスできる必要があります。この目的のために、basicHttpBinding を使用しています。
古い ASMX Web サービスでは、リクエストごとにユーザーを認証するために 1 つの Soap ヘッダー (AuthHeader) を割り当てました。basicHttpBinding
を使用して WCF で認証するにはどうすればよいですか? サンプルまたはチュートリアルは役に立ちます。
nRk
wcf - WCF - ヘッダーでクライアント/サーバー認証を構成していますか?
クライアント資格情報を受け取り、認証方法に基づいてある種の役割ベースのデータを維持する必要がある WCF サービスがあります。
クライアントは多くの異なるシステムに常駐するため、各クライアントには一意のユーザー ID とパスワードがあります。
私は basicHttpBinding を使用しており、次のような記事をいくつか読みました 。 -channelfactory-interface/、プロセスを説明します。
だから私が探しているのは、誰かがこのように構成された完全なクライアント/サーバーを持っているかどうかです。
私がやりたいのは、各リクエストのヘッダーにユーザー名とパスワードを渡して、失敗した場合は何らかの SecurityTokenValidationException を返すか、渡した場合は続行することです。
ありがとう。
アップデート
クライアントとサーバーの両方で、次の構成で wsHttpbinding を使用しています。
クライアントからサーバーへの呼び出しは次のようになります。
サーバーで CustomUsernamePasswordValidator をリンクするには、「... アクティブにできませんでした」というメッセージがまだ表示されるので、少し手を加える必要があると思います。エラー。
wcf - Silverlight クライアント ID が常にサーバーに渡されるわけではありませんか?
WCF 経由で発生したサーバーとの通信に問題がある Silverlight クライアントがありますbasicHttpBinding
。サービスの構成は次のとおりです。
サーバーは、統合認証を使用するように構成された IIS6 Web サーバーです。アプリケーション プール ID はドメイン アカウントです。
Silverlight クライアントから Web サーバーへの呼び出しには、クライアント ID (クライアントにアクセスするドメイン ユーザー) が含まれるものと含まれないものがあります。これを示すために、IIS ログの一部を含めました。
右に少しスクロールすると、一部の要求では ID が既知であることがわかります ( BROWNIE\TestUser
)。ただし、ほとんどの要求では、これは当てはまりません。あたかもクライアントが ID をいつ送信するかを「ランダムに」選択するかのようです。
この動作を見て解決策を見つけた人はいますか?
c# - WCF、BasicHttpBinding:新しい接続を停止しますが、既存の接続は続行できます
.NET 3.5、VS2008、BasicHttpBindingを使用したWCFサービス
WindowsサービスでホストされているWCFサービスがあります。アップグレードや定期的なメンテナンスなどの理由でWindowsサービスがシャットダウンした場合、WCFサービスを正常にシャットダウンする必要があります。WCFサービスには、完了するまでに最大数秒かかる可能性のあるメソッドがあり、通常のボリュームは1秒あたり2〜5回のメソッド呼び出しです。新しい呼び出しを拒否しながら、以前に呼び出したメソッドを完了できるようにWCFサービスをシャットダウンする必要があります。このようにして、約5〜10秒でクワイエット状態に到達し、Windowsサービスのシャットダウンサイクルを完了することができます。
ServiceHost.Closeを呼び出すことは正しいアプローチのように見えますが、進行中のメソッドが完了するのを待たずに、クライアント接続をすぐに閉じます。私のWCFサービスはそのメソッドを完了しますが、クライアントが既に切断されているため、応答を送信する相手がいません。これは、この質問によって提案された解決策です。
イベントのシーケンスは次のとおりです。
- クライアントは、VSで生成されたプロキシクラスを使用して、サービスでメソッドを呼び出します
- サービスがサービスメソッドの実行を開始します
- サービスはシャットダウンの要求を受け取ります
- サービスはServiceHost.Close(またはBeginClose)を呼び出します
- クライアントが切断され、System.ServiceModel.CommunicationExceptionを受け取ります
- サービスはサービスメソッドを完了します。
- 最終的に、サービスは(アプリケーションロジックを介して)実行する作業がなくなったことを検出し、終了します。
私が必要としているのは、クライアント接続を開いたままにして、クライアントがサービスメソッドが正常に完了したことを認識できるようにすることです。現在、接続が閉じられているだけで、サービスメソッドが正常に完了したかどうかはわかりません。WCFを使用する前は、ソケットを使用していましたが、ソケットを直接制御することでこれを行うことができました。(つまり、受信と送信を実行している間にAcceptループを停止します)
アップストリームファイアウォールがトラフィックを別のホストシステムに転送できるように、ホストHTTPポートを閉じることが重要ですが、既存の接続は開いたままにして、既存のメソッド呼び出しを完了できるようにします。
WCFでこれを実現する方法はありますか?
私が試したこと:
- ServiceHost.Close()-クライアントをすぐに閉じます
- ServiceHost.ChannelDispatchers-それぞれでListener.Close()を呼び出します-何もしないようです
- ServiceHost.ChannelDispatchers-それぞれでCloseInput()を呼び出します-クライアントをすぐに閉じます
- ServiceHost.OnClosing()をオーバーライドします-閉じることができると判断するまで閉じるを遅らせることができますが、この間は新しい接続が許可されます
- ここで説明する手法を使用して、エンドポイントを削除します。これはすべてを一掃します。
- ネットワークスニファを実行してServiceHost.Close()を監視します。ホストは接続を閉じるだけで、応答は送信されません。
ありがとう
編集:残念ながら、フィールドのクライアントはすでに展開されているため、システムがシャットダウンしているというアプリケーションレベルのアドバイザリ応答を実装できません。(私はサービスのみを制御し、クライアントは制御しません)
編集:Redgate Reflectorを使用して、MicrosoftのServiceHost.Closeの実装を確認しました。残念ながら、internal
コードがアクセスできないいくつかのヘルパークラスを呼び出します。
編集:探していた完全な解決策は見つかりませんでしたが、サービスメソッドを入力する前にIMessageDispatchInspectorを使用してリクエストを拒否するというBenjaminの提案が最も近かったです。
wcf - basicHttpBinding を BizTalk ESB Toolkit WCF サービス /ESB.ItineraryServices.WCF/ProcessItinerary.svc に追加します。
BizTalk Server 2009 で ESB Toolkit 2.0 を使い始めたばかりです。.NET クライアントを ESB Toolkit WCF サービス /ESB.ItineraryServices.WCF/ProcessItinerary.svc とまったく問題なく通信できますが、クライアントを使用していますwsHttpBinding をまったく処理できないテクノロジは、basicHttpBinding しか表示できません。
このサービスの web.config に basicHttpBinding を追加する方法を知っている人はいますか? web.config を以下に示します。
あなたが提供できる助けに感謝します。
アンドリュー
wcf - IIS 7 が自動的に再起動する
IIS に WCF サービスをデプロイしています。([AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] を使用した BasicHTTPBinding)
カスタムのメモリ内セッション管理を構築しましたが、IIS 7 が自動的に再起動するという奇妙な問題に直面しています。この問題により、利用可能なすべてのセッションが破壊されます。
ネットのログを使用してApplication_StartおよびApplication_Endメソッドをログに記録した後、この問題を発見しました。また、application_startにブレークポイントを配置し、テスト実行の間にそこで一時停止しました。
これはめったに起こりませんが、なぜそれが起こるのか、そしてそれが正常で許容できるものかどうかを知る必要があります. そうでない場合、これの考えられる理由は何ですか。
よろしく ムバシャール・アフマド
c# - BasicHttpBinding と WsHttpBinding の間のプロキシ
ある重要な顧客のために、PHP で SoapClient を実装して、WsHttpBinding で設定された .Net Web サービスに接続する必要がありました。
PHP SoapClient がサポートしていないことは知っています。私の目標は、BasicHttpBinding と WsHttpBinding の間の「ブリッジ」となる C# で書かれたプロキシ ソフトウェアを開発することです。したがって、PHP はプロキシの BasicHttpBinding 側とのみ通信し、プロキシは要求を WsHttpBinding を使用して実際の WS に変換し、PHP に応答を BasicHttpBinding 形式で返します。
それが私の目標ですが、C# を始めたばかりなので、これを行うには助けが必要です。
誰かが私を助けたり、アドバイスをくれたりできますか?
ありがとう、
soap - 400不正な要求:JScript /VBScriptを使用してWCFbasicHttpBinding(Soap)を消費する
このJScriptの何が問題になっていますか?なぜ私は400の悪いリクエストを受け取っているのですか。私はstackoverflowで同様のスレッドを読みました..一部の人はその石鹸メッセージのフォーマットの問題を言います。
これは、私がフィドラーからメッセージを受け取った場合のメッセージのようになります。