1

Web サービス関数の SOAP ヘッダーを xml として取得するにはどうすればよいですか?

SOAP ヘッダーが壊れている人のために例として使用するために、動作中の SOAP ヘッダーの XML バージョンが必要です。彼は別のプログラミング言語を使用していますが、ヘッダーは XML で送信されるため、それらを簡単に比較できることを願っています。私は C# を使用しており、ToString() はオブジェクトの名前を教えてくれます。グーグルで調べた後、私は Fiddler を試しましたが、それは何もキャッチしませんでした。SOAP 拡張機能は、本当に単純なタスクのように見えるものに対して複雑すぎるように見えます。

4

2 に答える 2

4

ASMX Web サービスでこれを行う簡単な方法はありません。WCF を使用している場合、メッセージ ログを有効にするのは簡単なことです。

Fiddler はすべてをキャッチする必要があり、使用方法を学ぶ価値があります。localhost から localhost へのトラフィックをキャプチャする方法については、オンライン ドキュメントを参照してください。

于 2010-07-28T13:54:22.477 に答える
1

この質問に対する受け入れられた回答では、soapUI を使用して Web サービスへのトラフィックをキャプチャできると述べています。これを使用して、Web サービスに送信されたメッセージをキャプチャするためにプロキシまたは HTTP トンネルとして機能させることができます。HTTP トンネル モードで使用するのは理にかなっていると思います。実際のサービスではなく、soapUI に URL を指定する以外に、クライアントで何もする必要がないからです。

SOAPUI の Web サイトでは、SOAP モニター機能について説明していますが、HTTP トンネルのセットアップについて適切な説明を提供しているとは思いません。

関連する手順は次のとおりです (soapUI 3.0.1 に基づく)。

  1. Soap UI を開く
  2. 新しい soapUI プロジェクトを作成します... 2.1 プロジェクトに名前を付けます 2.2 サービスの WSDL へのパスを入力します ( http://localhost/.../YourService.asmx?WSDL )
  3. 作成したプロジェクトを右クリック
  4. 「SOAP モニターの起動」を選択します。
  5. 「HTTP トンネル」を選択します
  6. 「ポート」には未使用のポート番号を指定してください。デフォルトはおそらく機能します。
  7. 「HTTP トンネルのエンドポイントを設定」に Web サービスへの URL を入力します。
  8. SSL を使用している場合は、他のいくつかのフィールドに入力する必要がある場合があります。それ以外の場合は、[OK] をクリックします
  9. HTTP トンネルが実行されているので、実際の Web サービスの代わりに HTTP トンネルを使用するようにクライアントを再構成するだけです。したがって、実際のサービスが「http://localhost:1234/YourService.asmx 」の場合、「 http://localhost :{Port}/YourService.asmx」を使用するようにクライアントを再構成します。{Port} は入力した番号です。ステップ#6で。
  10. ここで、クライアントを通常どおり実行します。soapUI インターフェイスに記録されたトラフィックが表示されます。メッセージを選択し、ウィンドウの下部にある [メッセージ コンテンツ] ボタンをクリックして、実際の SOAP メッセージを表示します。
于 2010-07-28T17:58:16.493 に答える