我正在尝试通过 Fiddler 路由我的 SoapUI Web 服务请求,但似乎不起作用。 我尝试了像这样的 URL:
http://localhost./myservice/myservice.asmx
http://localhost:8888/myservice/myservice.asmx
后者虽然经过Fiddler,但返回的是请求本身而非来自Web服务的响应。有什么帮助吗?
尝试选择 文件 > 首选项 > 代理设置 主机地址 127.0.0.1 端口号 8888
要解密由SoapUI生成的HTTPS流量,您可能需要将Fiddler证书导入到Java信任库文件cacerts中。对于SoapUI,此文件通常位于“C:\ Program Files(x86)\ SmartBear \ SoapUI-5.0.0 \ jre \ lib \ security \”(或您安装它的版本和路径)。
在Fiddler中,将根证书导出到桌面:工具> Fiddler选项...> HTTPS>将根证书导出到桌面。
以管理员身份运行cmd
。
cd
到SoapUI的JRE的security文件夹,例如:
cd "C:\Program Files (x86)\SmartBear\SoapUI-5.0.0\jre\lib\security\"
备份cacerts文件:
xcopy cacerts cacerts.bak
导入 Fiddler 证书:
..\..\bin\keytool.exe -import -alias fiddler -file "C:\Users\<username>\Desktop\FiddlerRoot.cer" -keystore cacerts -storepass changeit
这里的 "changeit" 是 cacerts 存储库的密码。
当提示信任证书时,请输入 yes
。
重新启动 SoapUI。
配置 SoapUI 使用 Fiddler 作为代理:转到 文件 > 首选项 > 代理设置 并指定:
请记得在 Fiddler 不运行时恢复原始代理设置。
Fiddler会自动将自己注入为代理,但仅限于IE栈。而SoapUI使用的是Java栈,因此代理不会自动设置。
你尝试过了吗:
http://localhost/myservice/myservice.asmx (without the dot)
更新
Fiddler通过在您的计算机上充当代理来工作。启动时,它将在端口8888上设置自己。这就是为什么当您使用localhost:8888
时它能够工作。如果您想使用localhost
,那么您需要告诉Fiddler查看端口80。
从Internet Explorer主菜单中,单击工具,单击Internet选项,单击连接,单击局域网设置,最后单击高级。现在将端口更改为80,看看是否可以正常工作。
localhost
吗? - Naeem Sarfraz