問題タブ [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 に答える
1903 参照

c# - SoapExtension でタイムアウト例外を処理する方法

SoapExtension があります。すべての Web サービスの要求と応答をログに記録します。プロジェクトには10​​00を超えるWebサービス呼び出しがあると思います。私の問題は、Web サービス呼び出しがタイムアウトまたは 403、404 などの httpexceptions で終了した場合、リクエストをログに記録できないことです。この種の例外もログに記録する必要があります。

これは私の SoapExtension です

0 投票する
3 に答える
10614 参照

android - Soap イネーブラー、maven ビルドの失敗

SOAP イネーブラーを使用して新しいサンプル プロジェクトを実行しようとしています https://code.google.com/p/android-soap-enabler/ そして、ビルド失敗の例外が発生し続けます。システム変数を再確認しましたが、Maven ではすべて問題ないようですローカルレポ。

pomファイル

ありがとう !

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

asp.net - SoapExtension で Web サービスのリクエストとレスポンスの両方をログに記録する

SoapExtension を使用して、Web サービス要求と、Web サービスでエラーが発生したときの応答の両方をログに記録しています。要求と応答の XMLDocument の両方に、正しくないデータが含まれています。誰かがコードをレビューして、私が間違っている可能性があることを確認できますか? SoapExtension の変更を一元化できない場合は、各 Web サービス エンドポイントにロギング コードを追加します。

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

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 呼び出しは次の手順を実行します。

サーバー側がリクエスト メッセージを受け取り、レスポンスを準備する

  1. Web サーバー上の ASP.NET が SOAP メッセージを受信します。
  2. SOAP 拡張機能の新しいインスタンスが Web サーバー上に作成されます。
  3. Web サーバー上で、この SOAP 拡張機能がサーバー側のこの Web サービスで初めて実行された場合、サーバー上で実行されている SOAP 拡張機能で GetInitializer メソッドが呼び出されます。
  4. Initialize メソッドが呼び出されます。
  5. ChainStream メソッドが呼び出されます。
  6. ProcessMessage メソッドは、 SoapMessageStage を BeforeDeserialize に設定して呼び出されます
  7. ASP.NET は、XML 内の引数を逆シリアル化します。
  8. ProcessMessage メソッドは、 SoapMessageStage を AfterDeserialize に設定して呼び出されます
  9. ASP.NET は、Web サービスを実装するクラスの新しいインスタンスを作成し、Web サービス メソッドを呼び出して、逆シリアル化された引数を渡します。このオブジェクトは、Web サーバーと同じコンピューター上にあります。
  10. Web サービス メソッドはそのコードを実行し、最終的に戻り値と出力パラメーターを設定します。
  11. ProcessMessage メソッドは、SoapMessageStage を BeforeSerialize に設定して呼び出されます。
  12. Web サーバー上の ASP.NET は、戻り値と出力パラメーターを XML にシリアル化します。
  13. ProcessMessage メソッドは、 SoapMessageStage を AfterSerialize に設定して呼び出されます
  14. ASP.NET は、SOAP 応答メッセージをネットワーク経由で Web サービス クライアントに送り返します。

手順 6 が正しく実行され、SOAP XML がログに記録されます。その後、サーバーが呼び出しを処理し、必要な処理を実行し (ステップ 10)、応答を返すまで (ステップ 13)、それ以上のことを行うべきではありません。代わりに、ステージですぐにProcessMessage再度呼び出しますAfterSerializeが、今回はストリームが既に使用されており、ログに記録しようとすると例外がスローされます。

ウォークスルーによると、このChainStreamメソッドを使用する必要があり、上記の手順 5 で実行する必要があります。呼び出しを行うと、前に 1 回、前に1、 2 回実行されます。BeforeDeserializeAfterSerialize

BeforeDeserializeメッセージストリームを別のストリームにコピーして、それをログに使用しようとしましたが、すでに実行されている場合は何らかのステータスを設定しましたが、問題は解決しません。

AfterSerializeクライアントに返される応答を処理するためのコードが必要です。しかし、コードを削除してHTTP 400: Bad Request`AfterSerializeでのみコードを実行しようとすると、.BeforeDeserialize' I get a

これはすべて、実際のメソッド呼び出しの前に行われるため、メソッド内のコードに到達することさえありません (ステップ 10)。

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

api - UPS API (.Net コンソール アプリ) で要求と応答に未加工の XML が必要

UPS API (.Net) での要求と応答に未加工の XML が必要

上記の投稿から投稿されたコードでロギングを実装しようとしていますが、投稿されたコードに問題があります。TranceExtension はすべてを null として返します。どんな助けでも大歓迎です。

ありがとうございました。

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

c# - サイド SOAP 拡張 C# で HTTP ステータス コードを取得することは可能ですか?

この記事に基づいて SOAP 拡張機能を使用して C# Web サービスを作成し ます。ソープ拡張セクションのコード。