1

我正在尝试使用 Hoverfly 捕获来自应用程序的请求和响应。Hoverfly 安装在机器上并设置为带捕获模式的代理。

该应用程序是在 linux box 中的 Weblogic 中部署的 Web 应用程序。该应用程序在内部使用soap 请求与Tibco ESB 服务器通信并从提供程序系统获取详细信息。我想捕获应用程序服务器和 ESB 之间的肥皂请求和响应。

为了捕获请求和响应,我通过以下方式在应用程序服务器上设置了代理:

1)在应用服务器的setDomianEnv.sh脚本中添加代理参数EXTRA_JAVA_PROPERTIES="-Dhttp.proxyHost=10.0.0.1 -Dhttp.proxyPort=8500 ${EXTRA_JAVA_PROPERTIES}" export EXTRA_JAVA_PROPERTIES

2)在应用程序的JVM启动参数中添加代理参数

3) 为操作系统级用户设置代理 http_proxy= http://10.0.0.1:8500

在所有三种情况下,我都未能在 Hoverfly 中捕获请求和响应。

是否有任何其他方法可以执行相同或任何其他设置以通过代理路由请求和响应?

4

1 回答 1

0

这应该足够了。您的 SOAP 服务是 HTTP 还是 HTTPS?如果 HTTP 这应该工作。如果是 HTTPS,您需要将自签名 Hoverfly 证书添加到您的 Weblogic JVM 信任库 (jre/lib/security/cacerts) 才能捕获这些 HTTPS 请求。同样在 HTTPS 通信的情况下,JVM 参数应该是 -Dhttps.proxyPort 和 -Dhttps.proxyHost

在我看来,只要设置了 JVM 参数,就不需要操作系统级别的代理。

确保 Hoverfly 正在运行,并且在 Hoverfly Dashboard 页面中,您应该将其设置为 Capture 模式,并且当您从 Weblogic 服务器调用服务时,Hoverfly Dashboard 中的 Capture 计数应该会增加。这表明一切正常。

于 2018-08-31T10:52:02.863 回答