SoapUI not working with fiddler for REST service testing

fiddlersoapui

I created a REST project in the SoapUI to test the googlemapsapi rest service (HTTPS). I configured the SoapUI to use the proxy settings to fiddler (localhost:8888). In fiddler, enabled the "Decrypt Https Traffic" option under Fiddler Tools -> Https

When i send the request, the handshake is successful. Below is the request and response headers:

Request Headers

CONNECT maps.googleapis.com:443 HTTP/1.1
Client
User-Agent: Apache-HttpClient/4.1.1 (java1.5)
Transport
Connection: Keep-Alive
Host: maps.googleapis.com

Response Headers

HTTP/1.1 200 Connection Established

Miscellaneous

FiddlerGateway: Direct
StartTime: 15:45:06.462

Transport

Connection: close

After the handshake, no further request and response is happening.

Without the proxy, the handshake and request/response works fine.

Note: I followed the below links to add the certificate to the SoapUI certificate assert and key store with no luck.

http://geekswithblogs.net/gvdmaaden/archive/2011/02/24/how-to-configure-soapui-with-client-certificate-authentication.aspx

http://qatesterblog.blogspot.com/2013/10/how-to-make-soapui-ssl-compatible.html

Best Answer

This is how I made this work for me (on Windows 7). I added Fiddler's root certificate to the JRE's trusted certificates.

Export the Fiddler root certificate. You find the export button by going to Tools / HTTPS.

Locate the file cacerts of the JRE you run SoapUI with. The file is located under lib/security of the JRE and the JRE is in SoapUI's jre folder if you have installed SoapUI. Copy this file to somewhere you have rights to modify it so that you don't have to fiddle with elevating the cmd process.

Now add the Fiddler root certificate to the cacerts keystore with the following command.

keytool -importcert -file FiddlerRoot.cer -keystore cacerts

The tool keytool is located in the bin folder of the JRE. The password the the cacerts keystore is "changeit" or "changeme".

As a final step copy back the cacerts file to it original location, restart SoapUI and have fun with the proxy!

Related Topic