OSB 代理拒绝来自上游系统的 400 个错误数据,但仍然可以从 SOAP UI 或邮递员工作

OSB Proxy rejects as 400 bad data from upstream system but still works from SOAP UI or postman

我们有一个 HTTP 传输代理服务,当我们 post 使用 post man 或 SOAP UI 以及我们收到的所有 URL 参数时,它会按预期工作来自上游应用程序,但是当我们进行集成测试时,它没有命中服务并向上游应用程序响应 400 Bad data 请求。

流程类似于来自上游应用程序的 HTTP post --> VIP 服务器 --> OSB 服务器。 我们在 OSB 服务器上安装了 snoop,它捕获了来自上游的请求,我还可以在该特定域的访问日志中看到以下条目。

10.128.30.140 - - [08/Jan/2018:11:02:29 +0000] "" 400 0

但是如果 POST 使用 SOAP UI,它就像

10.204.7.14 - - [08/Jan/2018:10:41:23 +0000] "POST /URLProxy HTTP/1.0" 200 1

不知道为什么它被认为是错误的数据请求并且在服务器日志中找不到太多信息。 迁移到 OSB 的是 Java 应用程序,上游系统除了 HTTP post URL 外没有任何更改。它仍然适用于遗留 Java 应用程序。

更新 - 可以在管理服务器的域日志中找到以下错误。计划启用 HTTP 调试日志并查看它是否可以提供一些帮助。

MWOSBDomain.log00128:#### <> <> <1515151593009>

从您的日志来看,调用者似乎没有使用正确的 HTTP 方法 (请注意 SOAPui 调用是如何调用 http POST 上下文 /URLProxy 上的方法) 或者您的 VIP 没有正确路由它。

Oracle DOC ID 1608951 包含启用 HTTP 日志的步骤,它更清楚地说明了确切的问题。在我们的例子中,这是由于 HTTP/1.0 之后没有回车 return,并且上游系统发送了额外的 space。我们在网络团队的帮助下使用可用的内容开关对其进行了更改。就把它留在这里,因为它可以帮助其他人。