今更ながらEclipseのforce.com IDEやData Loaderが
どのAPIをどのタイミングで叩いているかが気になったので
Fiddlerのプロキシを噛ませてネットワーク通信をトラッキングしてみました。
Fiddlerの証明書のインストール
JavaのキーストアにFiddlerのルート証明書をインストールします。まず、Fiddlerのルート証明書をFiddlerからエクスポートします。
Fiddlerを起動し、メニューのTools>Fiddler Optionsをクリックします。
HTTPSのタブでExport Root Certificate to Desktopボタンをクリックします。
そうすると、デスクトップにFiddlerRoot.cerの名前で証明書がエクスポートされます。
これを以下のコマンドでJavaのキーストアにインポートします。
パスワードを聞かれるので、適当なパスワードをセットします。
Eclipseの設定
eclipse.iniの行末に以下の2行を追記します。pathはFiddlerKeyStoreを作った場所をセット。-Djavax.net.ssl.trustStore=C:/path/to/FiddlerKeystore
-Djavax.net.ssl.trustStorePassword=hogefuga
これでeclipse.exeを起動し、プロキシの設定をします。
ツールバーのWindow>Preferencesをクリックして
GeneralのNetwork Connectionsを開きます。
Fiddlerが起動している状態でNativeを選択すると
以下のように127.0.0.1:8888を向いている状態になります。
これでEclipseのHTTP/HTTPS通信をFiddlerでトラッキングできます。
Data Loaderの設定
以下のコマンドでData Loaderを起動します。"C:\Program Files (x86)\salesforce.com\Data Loader\Java\bin\javaw.exe" ^
-Djavax.net.ssl.trustStore="C:/path/to/FiddlerKeyStore" ^
-Djavax.net.ssl.trustStorePassword=hogefuga ^
-jar "C:\Program Files (x86)\salesforce.com\Data Loader\dataloader-30.0.0-uber.jar"
Data Loaderに同梱されているJavaを使わないとバージョンの差異等でエラーになる可能性があります。
あとは、起動後のData Loaderのプロキシ設定をすればOK。
実際のトラフィック
Data Loaderだとログインした瞬間にdescribeGrobalしてるのがわかります。Eclipseだとrefresh from serverでretrieveしつつポーリングしてる様子がわかります。
たまに遅ぇー!ってときがありますが、ちゃんと仕事してました。
疑ってすみません、Eclipseさん。