2011-07-05 11 views
2

Fiddlerを使用するASP.NET MVCアクションメソッドの本体で作成された外部Webサービスへの呼び出しをトレースします。FiddlerでASP.NET MVCアクションメソッドのサードパーティWebサービス呼び出しをトレースするには

このコードをコンソールアプリケーションまたはNunitテストとして実行すると、Fiddlerを使用して外部サーバーに要求/応答が表示されます。

[Test] 
public void TestWebservice() 
{ 
    MyWebService checker = new MyWebService(); 
    i = checker.GetAge("bob"); 
    Assert.True(i >= 0); 
} 

私は私が私のブラウザからアクションメソッドへのリクエストを見ることができますが、私は、外部サーバへの根本的な要求を見ることができないASP.MVCアクションメソッドからWebサービスを呼び出します。

public ActionResult MakeTheCall(string name) 
{ 
    MyWebService checker = new MyWebService(); 
    i = checker.GetAge(name); 
    return View(); 
} 

Fiddlerは、ASP.NET MVCアクションメソッドの本体に作成されたサードパーティのWebサービスに対して要求/応答を表示する方法はありますか?

+0

サードパーティWebサービスは、ローカルホストまたはリモートホストでホストされていますか? – sandyiit

+0

Webサービスをテストしているときにネットワークが応答しない場合は、ユニットテストのテストが失敗すると予想されますか?単にネットワークに問題があり、単体テストが失敗し始めるとどうなりますか?それはあなたの意図ですか? –

+0

@sandyiit - サードパーティのWebサービスがリモートホスト上にあります。 @JamieDixonはい、ネットワークがダウンしている場合、テストは失敗します。これについて心配しないでください - このコードはwebserviceを別の方法で呼び出すことを説明するためのものですが、これをコンソールアプリケーションとして配置することもできます。 –

答えて

2

セクションに答えるために、コメントからの回答を移動:

プロキシとしてフィドラーを設定してみてください、とあなたが設定する方法について

詳細Webサービスを呼び出すときにフィドラープロキシを使用することができますそれではhttp://fiddler2.com/fiddler/help/hookup.asp

+1

GlobalProxySelection.Select = new WebProxy( "127.0.0.1"、8888); ASP.NET MVC WebアプリケーションのApplication_Startメソッドに追加されました –

+1

GlobalProxySelectionは現在廃止予定です - 代わりに 'WebRequest.DefaultWebProxy = new WebProxy(" 127.0.0.1 "、8888); – phuzi

1

Fiddlerをリバースプロキシとして設定し、特定のポートのローカルコールを別のポートのリモートサーバーに転送することができます。したがって、localhost:8888を呼び出すようにアプリを設定し、Fiddlerはremote:80に転送します。

http://www.fiddler2.com/fiddler/help/reverseproxy.asp

別のオプションは、このセットアップのためのより容易な構成となっているチャールズです。

http://www.charlesproxy.com/

0

私はフジリスの返信が好きだった WebRequest.DefaultWebProxy = new WebProxy( "127.0.0.1"、8888);

関連する問題