我正在使用已发布的 API 调用位于 API 管理器同一主机上的 PHP API。客户端应用程序是 SoapUI 或 curl。
我发出调用,它被传递到返回的 httpd 服务器:
curl -H "Authorization: Bearer Q7Eb8k6oUBe6O4nP10sEgzZREMMa" --url "http://10.1.1.141:8280/accident/v1/v1/accident.json"
10.1.1.141 - - [07/Feb/2013:12:41:41 +0100] "GET http://apman2.cortile.cloudlabcsi.local/restTest.php/v1/accident.json HTTP/1.1" 404 514 "-" "Synapse-HttpComponents-NIO"
curl http://apman2.cortile.cloudlabcsi.local/restTest.php/v1/accident.json
10.1.1.157 - - [07/Feb/2013:12:41:36 +0100] "GET /restTest.php/v1/accident.json HTTP/1.1" 200 120 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.13.1.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2"
显然,第一个是对 WSO2 使用自己的发布 URL 发布的最终 API 的调用,因此结果调用由 Synapse-HttpComponents-NIO 进行:curl call API-Manager 并使用 Synapse-HttpComponents-NIO 调用 PHP API。
第二个是直接从 curl 发出到 PHP API 的相同调用。
日志来自 HTTPD。
很明显,httpd 收到了调用,我无法理解为什么 Synapse-HttpComponents-NIO 客户端得到 404 而 curl 得到正确的结果。
谢谢卢卡
_