我正在使用 wso2 4.2 版本,一切看起来都不错,但是当我更新现有 api 或创建新 api,然后在网关上部署时,开发门户中可以进行更改,但是当我点击新 api/现有 api 时,其不反映并显示错误。
{ “代码”:“404”, "type": "状态报告", "message": "运行时错误", "description": "未找到给定 API 请求的匹配资源" }
您有一体式设置还是分布式设置?
如果是分布式设置,每当在网关中部署 API 时,您都会在网关实例中看到一些日志。如果您没有看到此类日志,则意味着 API 部署通知未从控制平面正确发送到网关。如果 eventhub 配置下可用的
event_listening_endpoints
未在网关的部署.toml 中正确定义,则可能会发生这种情况。
[apim.event_hub]
enable = true
username = "$ref{super_admin.username}"
password = "$ref{super_admin.password}"
service_url = "https://[control-plane-host]:${mgt.transport.https.port}/services/"
event_listening_endpoints = ["tcp://control-plane-host:5672"]
请注意,以上是取自 WSO2 文档的示例配置。但如果您有分布式设置,则需要在网关中进行此配置,以将网关连接到控制平面以接收通知。请参阅官方文档 [1] 了解更多信息。
如果您采用一体式设置,则理想情况下不应出现此问题。但您仍然可以检查主机名并验证是否有问题。
您可以做的另一件事是重新启动网关以查看问题是否解决。如果是这种情况,您可以将其范围缩小为网关和控制平面之间发送通知的问题。