WSO2 API 经理自定义路由

WSO2 API Manager Custom Routing

有没有办法将 WSO2 API 管理器中的端点动态设置为配置的生产和沙箱 URLs 以外的东西?就我而言,我想根据传入的 header 值进行路由;结果是这样的:

https://my_dynamically_determined_subdomain.my_static_domain.com

我尝试使用自定义处理程序 class 执行此操作,该处理程序将我想要的 URL 写入 "To" header,但这似乎不会影响路由.

还有其他方法吗?

看来你的方法不错。您可以动态设置 "To" header。但是你必须使用Default Endpoint, instead of a HTTP Endpoint。默认端点会将消息发送到 "To" header 中找到的 URL。请修改您的 API 配置(在 $AM_HOME/repository/deployment/server/synapse-configs/default/api/your-api.xml 中找到)的顺序,以将 HTTP 端点替换为默认端点,如下所示。

如果您想对所有 API 执行此操作,则可以编辑 velocity_templates.xml,以便所有 API 将自动使用默认端点发布。请参考 this doc for more details on this. It is worth to have a look at this blog post,它正在讨论您正在尝试做的类似模式。