問題タブ [ws-reliablemessaging]
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.
web-services - Axis 1.4 の WS-ReliableMessaging の実装
使用した Axis 1.4 の WS-ReliableMessaging の実装を知っていますか?
soap - WS-ReliableMessagingを実装するSOAPライブラリ
WS-ReliableMessagingを実装するSOAPライブラリを探しています。これまでのところ、Axis用のApacheのSandesha実装に出くわしました。WS-ReliableMessaging仕様の実装を提供する他のフレームワークはありますか?
ありがとう!
symbian - Symbian 上の軸 2/C
私は、モバイル プラットフォームで Web サービスを利用する方法について少し調べています。特に、現在 Symbian プラットフォームに注目しています。これで、Symbian 環境から使用される gSOAP を見てきました。Symbian で Axis 2 の C バージョンを見たり使用したりしたことのある人はいますか? 複数のオプションを検討しようとしていますが、特に WS-ReliableMessaging のサポートはスタックの重要な要素です。ありがとうございました!
c# - WCFの信頼できるセッション再試行動作を理解する
WCFの信頼できるセッションの信頼性についていくつか質問があります。
WCFは、再試行中にメッセージを再シリアル化しますか?
2. 1が正しい場合、メッセージパラメータが破棄された後に発生しますか?
3. 2が正しい場合、メッセージが確実に送信されたことを識別する方法はありますか?
私はまだリフレクターを介してそれを理解することができませんでした。
UPD 1:サーバーの戻り値にもっと興味があります。彼らはどうなりますか?
UPD 2:メッセージパラメータ(正確には-サーバー応答)はいつ破棄されますか?適切なackが受け取られたときにそれは起こりますか?パラメータを破棄するとは、次のようになります。
サーバーの応答を破棄するためにそれを使用する必要があります(このソリューションに到達した理由について、別のSOFスレッドがあります)。
UPD 3:私が解決しようとしている問題は、サーバーの応答が最初に破棄され、次にアプリケーションがそれをシリアル化しようとしているように見えることです。同じオブジェクトを他の場所で再利用しないことを99%確信しています。スタックトレースはかなり醜く、ここに投稿するのは大きいです。
.net - WCF WebService - クライアントが応答を受信したことを確認する方法はありますか?
クライアントがサーバー側のメッセージ キューからメッセージを受信するために使用できる WCF サービスがあるとします。例として、データ テーブルに電子メールのサーバー側キューがあるとします。
サービスを次のように定義しましょう。
LoadMessagesFromDb() が SENT = 'N' のすべてのメッセージを取得すると仮定します。そのため、それらをロードし、すべてのテキスト文字列を抽出して返します。
ここでの問題は、データ テーブルでこれらのメッセージを "sent = 'Y'" としてマークする必要があることです。私は次のようなことができます:
しかし、クライアントにデータを返す際にエラーが発生した場合はどうなるでしょうか? おそらく接続の問題、または WCF のシリアル化の問題ですか? 私が本当にやりたいことは、クライアントがメッセージを正常に受信したことをどうにかして知ることです。今考えられる唯一のことは、アイテムが正常に受信されたことを示すためにクライアントが呼び出すことができる 2 番目のメソッドを作成することです。
次に、サービスに 2 番目のメソッドを用意します。
そのため、クライアントはすべての ID を私に送り返す必要があります。これを行うより良い方法はありますか?WCF ではなく ASP.NET でこれを行っていた場合、メソッドで応答ストリームを開いてデータを書き戻し、それを try/catch に含めることができますが、WCF では同じ柔軟性がないようです。 、カスタムメッセージライターと拡張機能をたくさん作成することなく...クライアントへの送信中にエラーが発生したかどうかを判断する方法を知っている人はいますか? ws-reliablemessaging は私に何かを与えますか?
wcf - WSHttpバインディングとReliableSession/MaxRetryCount
WSHttpBinding
信頼できるセッションが有効になっているWCFでを使用すると、サービス参照は次のように更新されます。
maxRetryCount
バインディングがWSHttpBindingとして構成されている限り、reliableSessionに属性を追加できません。
今私の質問:maxRetryCount
WSHttpBindingを使用するときの値は何ですか、そしてこれをconfigで変更する方法はありますか?CustomBindingを使用せずに?
c# - WCF - 再試行が機能しませんか?
バインディング用に次の構成があります。
ここでの私の期待は、クライアント プロキシが 2 分以内に送信に失敗した場合、要求を再試行する必要があるということです。でも:
16:37:49,242 INFO開始プロセス
16:39:49,588 FATAL要求操作は、割り当てられたタイムアウト 00:02:00 内に完了しませんでした
したがって、アプリケーションは 2 分以内にエラーをスローし、要求を再試行しません。再試行を開始するにはどうすればよいですか?
wcf - WCF ReliableSession とタイムアウト
主にリポジトリ内のドキュメントを管理するために使用される WCF サービスがあります。
巨大なファイルをアップロード/ダウンロードできるように、MS のチャンキング チャネル サンプルを使用しました。
現在、サービスとの信頼できるセッションを実装しましたが、奇妙な動作が見られます。
これが私が使用しているタイムアウト値です。
次の問題があります
。 1. サービスが稼働していない場合、クライアントは OpenTimeout 後に切断されません。
テストクライアントで試してみました。
シナリオ 1: Reliable Session がない場合: 次の例外が発生します: net.tcp://localhost:8788/MediaManagementService/ep1 に接続できませんでした。接続の試行は、00:00:00.9848790 の期間継続しました。TCP エラー コード 10061: ターゲット マシンがアクティブに拒否したため、接続できませんでした 127.0.0.1:8788
OpenTimeout を 1 秒に設定したため、これは正しい動作です。
シナリオ 2: ReliableSession
の場合: 同じ例外が発生します。
net.tcp://localhost:8788/MediaManagementService/ep1 に接続できませんでした。接続の試行は、00:00:00.9692460 の期間継続しました。TCP エラー コード 10061: ターゲット マシンがアクティブに拒否したため、接続できませんでした 127.0.0.1:8788。
しかし、このメッセージは約 10 分後に表示されます。(SendTimeout の後だと思います) ここで、信頼できるセッションを有効にしたところ、クライアントの OpenTimeout = SendTimeout のように見えます。
これは望ましい動作ですか?
2: ReliableSession を使用して巨大なファイルをアップロードする際
の問題: 一般的な規則として、maxReceivedMessageSize、SendTimeout、および ReceiveTimeout に大きな値を設定する必要があります。
ただし、チャンキング チャネルの場合、データがチャンクで送信されるため、最大受信メッセージ サイズは重要ではありません。
そこで、Send と ReceiveTimeout に大きな値を設定しました。たとえば、10 時間です。現在、アップロードは順調に進んでいますが、(1) の動作により、サービスが起動していなくても、クライアント接続のタイムアウトに 10 時間かかるという副作用があります。
この行動についてのあなたの考えを教えてください。
soap - SOAPは信頼できるトランスポートではないことをどのように教えることができますか?
HTTP SOAP呼び出しを受信できるが、ネットワーク障害(他の問題の中でも)が原因で呼び出し元が応答を受け取れない可能性があることを教える必要があります。(この問題により、WS-ReliableMessagingが開発されました)
重複するメッセージが受信される可能性があることを考慮して開発できるように、この問題をWebサービス開発者にどのように示しますか?
問題は、HTTP呼び出しがサーバーによって完全に受信され、サーバー上で動作する可能性があることを理解していないことですが、呼び出し元への応答が失われる可能性があります。
wcf - WCF ReliableMessaging メソッドが 2 回呼び出されました
Fiddlerを使用すると、次の場合に呼び出しごとに 3 つの HTTP 要求 (および一致する応答) が表示されます。
- WS-ReliableMessaging が有効であり、かつ、
- メソッドが大量のデータ (17MB) を返す
最初の HTTP 要求は、アクション「CreateSequence」を含む SOAP メッセージです (信頼できるセッションを確立すると考えられます)。2 番目と 3 番目の HTTP 要求は、webservice メソッドを呼び出す同一の SOAP メッセージです。同じメッセージが 2 つあるのはなぜですか?
これが私たちの設定です:
ありがとう、
ブライアン