SoapUI不与fiddler一起进行REST服务测试

时间:2014-03-21 20:53:52

标签: soapui fiddler

我在SoapUI中创建了一个REST项目来测试googlemapsapi休息服务(HTTPS)。我配置SoapUI使用代理设置到fiddler(localhost:8888)。在小提琴手中,启用了“解密Https Traffic" Fiddler工具下的选项 - > HTTPS

当我发送请求时,握手成功。以下是请求和响应标头:

请求标题

CONNECT maps.googleapis.com:443 HTTP / 1.1 客户   User-Agent:Apache-HttpClient / 4.1.1(java1.5) 运输   连接:保持活力   主持人:maps.googleapis.com

响应标题

建立HTTP / 1.1 200连接

FiddlerGateway:直接    StartTime:15:45:06.462

运输

连接:关闭

握手后,没有进一步的请求和响应。

没有代理,握手和请求/响应工作正常。

注意:我按照以下链接将证书添加到SoapUI证书断言和密钥存储区,但没有运气。

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

2 个答案:

答案 0 :(得分:12)

这就是我为我工作的方式(在Windows 7上)。我将Fiddler的根证书添加到JRE的可信证书中。

导出Fiddler根证书。您可以通过转到Tools / HTTPS找到导出按钮。

找到运行SoapUI的JRE的文件cacerts。该文件位于JRE的lib / security下,如果已安装SoapUI,则JRE位于SoapUI的jre文件夹中。 将此文件复制到您有权修改它的位置,这样您就不必摆弄提升cmd进程。

现在使用以下命令将Fiddler根证书添加到cacerts密钥库。

keytool -importcert -file FiddlerRoot.cer -keystore cacerts

工具keytool位于JRE的bin文件夹中。 cacerts密钥库的密码是“changeit”或“changeme”。

作为最后一步,将cacerts文件复制回原来的位置,重新启动SoapUI并享受代理的乐趣!

答案 1 :(得分:5)

关于我成功尝试乔尔答案的一些注释和说明(https://stackoverflow.com/a/22907237/1981358):

  • 在Windows Fiddler 4(4.5.1.0)上,选项位于:工具>小提琴选项...> HTTPS>将根证书导出到桌面

  • 我认为我必须以管理员身份运行CMD才能修改cacerts文件

  • 更改为SoapUI JRE中的安全目录。对我来说这是:C:\ Program Files(x86)\ SmartBear \ SoapUI-5.0.0 \ jre \ lib \ security

  • 我使用此命令更新cacerts文件: ..\..\bin\keytool.exe -importcert -file C:\Users\MyUserName\Desktop\FiddlerRoot.cer -keystore cacerts

  • 出现提示时,请输入changeit

  • (重要:确认您实际上正在更新cacerts文件。我首先尝试从另一个文件夹创建一个新文件。如果它要求输入密码两次,您可能会创建一个新文件。)

Trust this certificate? [no]: yes Certificate was added to keystore

  • 成功时(上面的消息),检查cacerts文件是否实际更改了。

  • 启动SoapUI并再次尝试请求。