How to Configure Charles Proxy to Monitor Advanced Atom Traffic

Document created by gbockelmann Employee on Sep 30, 2011Last modified by vreddy on Mar 11, 2016
Version 7Show Document
  • View in full screen mode

AtomSphere gives you the ability to track data sent to/from a connector through use of the Test Mode feature. It provides you a simple view of the business content that you want to work with in your Process flow.

When troubleshooting complex issues that require the analysis of the raw messages sent to/from a web application, it is helpful to review the web traffic sent to and from the Atom. A proxy tool such as 'Charles Proxy' offers a way for you to track this information during your debugging. The following steps outline how to enable Charles Proxy to see traffic that is being sent securely from a local Atom.

Warning: Configuring Charles Proxy to work with an Atom can affect the Atom's internal processing. You should only follow these steps on a local Test Atom.

  • Download and install Charles Proxy (not the Firefox add-on)
  • Export the Charles Proxy certificate: In Charles go to the Help menu and choose "SSL Proxying > Save Charles Root Certificate". Save the root certificate (as a .cer) to your desktop (eg: C:\Users\guest_user\Desktop\charles-proxy-ssl-proxying-certificate.cer), or somewhere where you can easily access it in the next steps.
  • To determine which JRE the Atom is using, go to this directory path: <Atom Install>\.install4j\inst_jre.cfg
  • If you wish to change the JRE that the atom is using, make a copy of the inst_jre.cfg file and renamed the copied file to be pref_jre.cfg.
    In the pref_jre.cfg file, change the filepath to the JRE Home folder you want to use.
  • Find the cacerts file. It should be in your JAVA_HOME/jre/lib/security/cacerts, where JAVA_HOME is your java home directory for the JVM you're using.
  • In a command prompt window - Import this Certificate.  (see sample syntax below)
    (You probably need to relocate the command prompt to the bin folder where the keytool command exists.  Example: java/bin folder) 

    Sample Syntax:

 

keytool -import -alias charles -file "C:\Users\guest_user\Desktop\charles-proxy-ssl-proxying-certificate.cer" -keystore "C:\Program Files\Java\jre6\lib\security\cacerts" -storepass changeit

Note:

      • The *.cer filename may be different depending on the version of Charles Proxy installed, if that is the case, change the path accordingly.
      • If you get a permission denied error when you run the above command, you may need to run the command prompt as an admin user and try the import again.

Successful CA Cert import should show:

Trust this certificate?: yes

Certificate was added to keystore

 

  • Depending on how the Atom is started, edit the respective files and add the Dhttp information

For Atom as a standard service edit: <Atom root>\bin\atom.vmoptions

For Atom as a desktop edit: <Atom root>\bin\atomw.vmoptions

 

-Dhttp.proxyHost=localhost

-Dhttp.proxyPort=8888

-Dhttps.proxyHost=localhost

-Dhttps.proxyPort=8888

 

  • Restart the Atom
  • Start Charles Proxy and go to menu: Proxy >> Proxy Settings
  • On the Proxy tab, set HTTP Proxy port to: 8888
  • On Windows tab: Uncheck "Enable Windows Proxy" and uncheck "Enable Windows Proxy at startup"
  • On SSL tab: Check "Enable SSL Proxying" and then add the domains for all the SSL Locations your Processes will connect to. If you do not add the domain to this list you will not be able to view the raw request/response data. Read the changes to new Charles Proxy Version for SSL- http://www.charlesproxy.com/documentation/proxying/ssl-proxying/
  • To add an SSL host, click Add then enter the top level domain name, like this: *.boomi.com. You can typically leave the port number blank.

Here is an example of common Locations as a starting point. You can always add more later:

    • *.boomi.com
    • *.salesforce.com
  • Make sure browser proxies are turned off.
  • Execute a process on the local Atom and if configured properly, the communications will be captured.
5 people found this helpful

Attachments

    Outcomes