問題タブ [soap-extension]

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.

0 投票する
1 に答える
3326 参照

.net - .net SOAP Web サービスのログ要求/応答

サード パーティの .NET SOAP WebService (.asmx) を使用しています。リクエストとレスポンスをログに記録したい。SoapExtensionsを使用したいくつかのソリューションを見てきました。しかし、システムにロギングを統合するのが好きです。次のようなものもあります。

私はこれを行うことができますか?別の解決策はありますか?

更新: リクエストとレスポンスのオブジェクトをシリアル化するのは避けたいです。しかし、私は今これをやっています。

0 投票する
1 に答える
826 参照

c# - SoapExtensionAttributeが適用されるオブジェクトに情報を渡す

私のアプリケーションでは、Webサービスを呼び出しており、SoapExtensionとSoapExtensionAttributeを使用して、ログ記録の目的で着信および発信のSOAPメッセージをインターセプトできます。http://msdn.microsoft.com/en-us/magazine/cc164007.aspxの例を入力として使用しました。しかし今、私はさらに一歩進んでいきたいと思います。(別のプロジェクトで)クラスを呼び出すWindowsクライアントがあり、クラスがWebサービスを呼び出します。これでSOAPメッセージをインターセプトできますが、それらをファイルに直接ログに記録する代わりに、それらのメッセージをWebサービスを呼び出しているクラスに戻し、クラスを呼び出しているクライアントにも戻したいと思います。これまでに行ったコードの変更は次のとおりです。

ここで、soapInputとsoapOutputを、この属性が適用されるメソッドを保持するクラスに戻したいと思います。私がそれをどのようにすべきかについての手がかりはありますか?

0 投票する
1 に答える
1310 参照

c# - SOAP 拡張機能の有効化/無効化 Web.config

SOAPExtension を継承する TraceExtension クラスを作成しました。次に、署名の上にある [TraceExtension] を使用して、拡張機能を WebMethod に適用します。これはすべてうまく機能し、TraceExtension クラスで指定されたファイルに出力します。

web.configでこれを本当に有効/無効にしたいのですが、これを行う方法を知っている人はいますか?

前もって感謝します。

0 投票する
2 に答える
2300 参照

c# - C# 拡張 SoapExtension -

背景: asmx Web サービスからのインバウンド/アウトバウンド Soap メッセージをログに記録する単純な SoapExtension クラスを作成しようとしています。msdnのこの記事に従って、私は物事を機能させることができました。ただし、コードをコピーして貼り付けるだけでなく、なぜ/どのように機能するのかを理解したいと思います。

質問: 具体的に把握するのに苦労しているのは、例の IO ストリームの処理です。私がウェブで読んだ他のすべての記事は、同じ方法でストリームを処理します...最初に元のストリームへの参照を取得し、メモリ内に「作業中の」ストリームを作成し、次に必要に応じて内容を交換します。

最初の質問は、このコンテキストでの「ストリーム チェーン」とはどういう意味ですか? ストリームについての私の理解は、任意のストリームに書き込むと、パイプラインの「内部」ストリームに自動的に書き込まれるということです。その場合、あるストリームから別のストリームにコンテンツを手動でコピーする必要があるのはなぜですか?

2 番目の質問は、Copy メソッドの例では、StreamReader と StreamWriter を破棄せずに毎回作成しています。これは GC に余分な圧力をかけていませんか? トラフィックの多い Web サービスで必要なものとは思えません...両方を using ステートメントでラップしようとしましたが、リーダー/ライターを破棄するとストリームも閉じられ、より深刻なエラーが発生しました。.NET 4 には新しい Stream.CopyTo(Stream) メソッドがありますが、.NET 3.5 のより良いアプローチは何でしょうか?

0 投票する
2 に答える
15736 参照

c# - SoapExtensionをロードするためのweb.configファイルを作成するにはどうすればよいですか?

(作成した)サブクラスを使用する必要がありますが、このクラスはファイルSoapExtensionを介してのみ初期化できるようです。web.config私はそれがファイルを通して可能であるべきだと読みましたapp.config、しかし私はそれをそのようにする方法を知りません。

問題web.config:プロジェクトにファイルがありません。

そこで、次の内容で手動で作成しました。

各SoapExtensionメソッドでブレークポイントがディスパッチされているにもかかわらず、実行時に何も発生せず、呼び出されて初期化されることはないようです。私のSoapServiceは正常に初期化されますが、拡張機能はありません。

web.configファイルを手動で作成するだけでは考慮に入れられない可能性があるので、SoapExtensionを使用するためにweb.configファイルを持つようにアプリを適切に構成する方法を考えています。クラス、processMessage、chainStreamのものを初期化する必要があります。

:これは私の初めてのSoapExtension実装であるため、自分が何をしているのかよくわかりません。

0 投票する
1 に答える
2317 参照

.net - Webサービスをログに記録するsoap拡張機能

Webサービスをトレースするために、このsoap拡張機能があります。

私のweb.configで:

Webサービスを実行し、soap拡張機能にブレークポイントを設定すると、何も起こりません。xmlではなくjsonでWebサービスを使用しています。この石鹸エクステンションを機能させるにはどうすればよいですか?

0 投票する
1 に答える
1975 参照

c# - .Net Web サービス クライアントの SoapExtension が Java Web サービスからの応答メッセージをめちゃくちゃにする

Web 参照を使用して Java Web サービスを呼び出すプロジェクトに SoapExtension を追加しようとしました。私のコードはすべて.Net 4.0にあります

空の SoapExtension を追加しました

そして、クライアントの app.config に追加しました:

上記のコードではまだ何も変更されていないと思います。実行すると、メソッドResponse is not well-formed XML.Root element is missing.例外がスローされましたSystem.Web.Services.Protocols.SoapClientType.Invoke(CLRデバッグをオンにしました)。app.config の構成を削除して SoapExtension をバイパスすると、サーバーから返されたものを受け取ることができます。

Fiddler を使用して送信メッセージと応答メッセージをトレースし、サーバーから SOAP を返します。

有効な SOAP 応答だと思います。

ここで何が問題なのですか?

0 投票する
0 に答える
1005 参照

soapexception - WebService 拡張機能を使用して SOAP 呼び出しを再試行する方法 (クライアントではなくサーバーで)

私は、WAN を介して厄介なバックエンドにアクセスする SOAP サービスを開発しました。コンシューマー アプリが再試行ロジックを実装するのを防ぐために、再試行ロジックを実装したいと考えています。

再試行ロジックを作成する最もクリーンな方法は? には興味深いアイデアがいくつかありますが、数十回の呼び出しでコードが複雑になるのは避けたいと思います。

SOAPExtension を実装して retrySpecific 例外をチェックし、内部再試行を実行する必要があると思います。

P コード:
SOAP 呼び出しが WebService に入ります
バックエンドへの呼び出しが行われ
ます 合格の場合、データが返されます
失敗の場合、バックエンドへの呼び出しが行われ
ます 合格の場合、データが返されます
失敗の場合、例外が再実行されます

これを実装する方法についてのアイデアはありますか?

0 投票する
1 に答える
15238 参照

c# - C# SOAP 拡張機能が呼び出されないのはなぜですか?

Java Web サービスを呼び出す C# Winforms クライアントがあります。サービスが正しく呼び出され、期待される結果が返されます。

顔が青くなるまで、ソープエクステンションを追加しようとしています. それは正しくコンパイルされ、登録されていると信じるあらゆる理由があります...しかし、呼び出されることはありません。app.config を変更してみました。「wss.SoapExtensionTypes.Add(soapInterceptor)」を呼び出してみました: 同じこと。私の SoapException の "Initalize()" および "ProcessMessage()" 関数は、決して呼び出されません。

Q: 何か提案はありますか? デバッグのヒントはありますか?

ClientTraceExtension.cs =>

app.config =>

Form1.cs =>