我正在尝试在 WSO2 ESB 4.7.0 上创建一个 API 来处理对 RESTful 服务的请求。似乎 URL 映射功能不起作用或像过滤器一样工作,选择要发送到端点的内容以及要删除的内容。我遵循了本教程:http ://wso2.com/library/articles/2012/09/get-cup-coffee-wso2-way/ 。这是我的 API 配置:
<api xmlns="http://ws.apache.org/ns/synapse" name="rest" context="/rest">
<resource methods="GET" url-mapping="/">
<inSequence>
<send>
<endpoint>
<http method="get" uri-template="http://myserver/REST"/>
</endpoint>
</send>
</inSequence>
</resource>
<resource methods="GET" url-mapping="/numbers">
<inSequence>
<send>
<endpoint>
<http method="get" uri-template="http://myserver/REST/allnumbers"/>
</endpoint>
</send>
</inSequence>
</resource>
</api>
有以下三种情况:
- 此网址有效:
http://esb/rest
- 此网址无效:
http://esb/rest/numbers
- 此网址有效:
http://myserver/REST/allnumbers
在情况 2 中,我收到了 Apache Tomcat 错误:
HTTP Status 404 - Not Found
type Status report
message Not Found
description The requested resource (Not Found) is not available.
Apache Tomcat/6.0.32
但是,如果我尝试端点地址,它就可以工作。我认为 URL 映射会将对“/numbers”的请求路由到“/allnumbers”。我究竟做错了什么?