問題タブ [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.
c# - SoapExtension でタイムアウト例外を処理する方法
SoapExtension があります。すべての Web サービスの要求と応答をログに記録します。プロジェクトには1000を超えるWebサービス呼び出しがあると思います。私の問題は、Web サービス呼び出しがタイムアウトまたは 403、404 などの httpexceptions で終了した場合、リクエストをログに記録できないことです。この種の例外もログに記録する必要があります。
これは私の SoapExtension です
android - Soap イネーブラー、maven ビルドの失敗
SOAP イネーブラーを使用して新しいサンプル プロジェクトを実行しようとしています https://code.google.com/p/android-soap-enabler/ そして、ビルド失敗の例外が発生し続けます。システム変数を再確認しましたが、Maven ではすべて問題ないようですローカルレポ。
pomファイル
ありがとう !
asp.net - SoapExtension で Web サービスのリクエストとレスポンスの両方をログに記録する
SoapExtension を使用して、Web サービス要求と、Web サービスでエラーが発生したときの応答の両方をログに記録しています。要求と応答の XMLDocument の両方に、正しくないデータが含まれています。誰かがコードをレビューして、私が間違っている可能性があることを確認できますか? SoapExtension の変更を一元化できない場合は、各 Web サービス エンドポイントにロギング コードを追加します。
c# - サーバー側での SOAP リクエストとレスポンスのロギング
ASP.NET Web サービスへのすべての SOAP メソッド呼び出しのログ サービスを作成しようとしています。コンソール アプリケーションからの SOAP メッセージのログと、MSDN ( http://msdn.microsoft.com/en-us/library/s25h0swd%28v=vs.100%29.aspx )の SOAP 拡張機能のウォークスルーを見てきました 。しかし、彼らはそれを完全にカバーしていないようです。
SOAP メッセージを変更したくありません。データベース テーブルに記録するだけです。私がやろうとしているのは、SOAP メッセージ ストリームを読み取り、それを XML として解析し、XML をログに記録して、呼び出しを順調に進めることです。しかし、ストリームを読むと、それは消費/破棄されます。流れを妨げないように、ストリームの内容をコピーしてみました。
ウォークスルーによると、ProcessMessage
メソッドは次のようになります。
BeforeDeserialize
ステージ中に問題なくストリームを解析できましたが、ステージでProcessMessage
再度呼び出され、AfterSerialize
それまでにストリームが使用され、データが含まれなくなりました。
SOAP 拡張機能を使用した SOAP メッセージの変更 ( http://msdn.microsoft.com/en-us/library/esw638yk%28v=vs.100%29.aspx ) によると、SOAP 呼び出しは次の手順を実行します。
サーバー側がリクエスト メッセージを受け取り、レスポンスを準備する
- Web サーバー上の ASP.NET が SOAP メッセージを受信します。
- SOAP 拡張機能の新しいインスタンスが Web サーバー上に作成されます。
- Web サーバー上で、この SOAP 拡張機能がサーバー側のこの Web サービスで初めて実行された場合、サーバー上で実行されている SOAP 拡張機能で GetInitializer メソッドが呼び出されます。
- Initialize メソッドが呼び出されます。
- ChainStream メソッドが呼び出されます。
- ProcessMessage メソッドは、 SoapMessageStage を BeforeDeserialize に設定して呼び出されます。
- ASP.NET は、XML 内の引数を逆シリアル化します。
- ProcessMessage メソッドは、 SoapMessageStage を AfterDeserialize に設定して呼び出されます。
- ASP.NET は、Web サービスを実装するクラスの新しいインスタンスを作成し、Web サービス メソッドを呼び出して、逆シリアル化された引数を渡します。このオブジェクトは、Web サーバーと同じコンピューター上にあります。
- Web サービス メソッドはそのコードを実行し、最終的に戻り値と出力パラメーターを設定します。
- ProcessMessage メソッドは、SoapMessageStage を BeforeSerialize に設定して呼び出されます。
- Web サーバー上の ASP.NET は、戻り値と出力パラメーターを XML にシリアル化します。
- ProcessMessage メソッドは、 SoapMessageStage を AfterSerialize に設定して呼び出されます。
- ASP.NET は、SOAP 応答メッセージをネットワーク経由で Web サービス クライアントに送り返します。
手順 6 が正しく実行され、SOAP XML がログに記録されます。その後、サーバーが呼び出しを処理し、必要な処理を実行し (ステップ 10)、応答を返すまで (ステップ 13)、それ以上のことを行うべきではありません。代わりに、ステージですぐにProcessMessage
再度呼び出しますAfterSerialize
が、今回はストリームが既に使用されており、ログに記録しようとすると例外がスローされます。
ウォークスルーによると、このChainStream
メソッドを使用する必要があり、上記の手順 5 で実行する必要があります。呼び出しを行うと、前に 1 回、前に1回、 2 回実行されます。BeforeDeserialize
AfterSerialize
BeforeDeserialize
メッセージストリームを別のストリームにコピーして、それをログに使用しようとしましたが、すでに実行されている場合は何らかのステータスを設定しましたが、問題は解決しません。
AfterSerialize
クライアントに返される応答を処理するためのコードが必要です。しかし、コードを削除してHTTP 400: Bad Request`AfterSerialize
でのみコードを実行しようとすると、.BeforeDeserialize' I get a
これはすべて、実際のメソッド呼び出しの前に行われるため、メソッド内のコードに到達することさえありません (ステップ 10)。
api - UPS API (.Net コンソール アプリ) で要求と応答に未加工の XML が必要
UPS API (.Net) での要求と応答に未加工の XML が必要
上記の投稿から投稿されたコードでロギングを実装しようとしていますが、投稿されたコードに問題があります。TranceExtension はすべてを null として返します。どんな助けでも大歓迎です。
ありがとうございました。
c# - サイド SOAP 拡張 C# で HTTP ステータス コードを取得することは可能ですか?
この記事に基づいて SOAP 拡張機能を使用して C# Web サービスを作成し ます。ソープ拡張セクションのコード。