This post describes how to debug Boomi REST API calls over https.

Suppose you’re integrating REST API’s over https. How many times have you been staring at your screen wondering why you get these http 400 “bad request” errors? 😉 It is then helpful to analyse the raw messages sent to/from this API and your integration platform.

This example makes use of

How to debug Boomi https REST calls

Example for Windows 7 64-bit

  1. Go to the directory .install4jinst_jre.cfg
    • Example “C:Boomi AtomSphereAtom – Windows 7 laptop.install4j”
  2. Open the file “pref_jre.cfg” and check which JDK your local Atom is using
    • Example “C:Program FilesJavajdk1.7.0_71”
  3. Find the cacerts file, usually in JAVA_HOME/jre/lib/security
  4. Import the Charles certificate using the JDK keytool utility
    • Open a cmd command window
    • cd “C:Program FilesJavajdk1.7.0_71bin”
    • keytool -import -alias charles -file “C:tempcharles-ssl-proxying-certificate.crt” -keystore “C:Program FilesJavajdk1.7.0_71jrelibsecuritycacerts” -storepass changeit
    • The import is succesfull when you see “Certificate was added to keystore”
  5. Login into platform.boomi.com
  6. Open the menu option  and click on “Atom properties”
  7. Go to the advanced properties tab and add the following properties
    • Proxy host:
    • Proxy port: 8888
    • In this case I’m running Charles on my Mac OSX laptop with ip address 192.168.2.4. The Boomi atom runs on 192.168.2.7
    • Enable the checkbox “Restart on save?” and save the properties
  8. Check if your atom has been restarted or restart it manually using the command “C:Boomi AtomSphereAtom – Windows 7 laptopbinrestart.bat”

Notes

  • If you need want to delete a certificate, please use the following commandC:Program FilesJavajdk1.7.0_71bin> keytool -delete -alias charles -keystore “C:Program FilesJavajdk1.7.0_71jrelibsecuritycacerts”

Ok, now we are ready to do a test.

  1. Login into platform.boomi.com
  2. Go to the build page
  3. Open your process containing a https client GET operation. This example connects to a Shopify Order API using REST and JSON
  4. Start the process in test mode and use your local atom
  5. Now go to Charles, select structure mode
  6. If everything has been configured properly, you will see your http GET requests and response messages in clear text 🙂