如何在wso2 apim 4.0.0中删除订阅策略



我有一个启动并运行的wso2 apim 4.0.0。我在管理门户中创建了一些订阅策略,然后将它们应用到发布者门户的某些api上。现在,如果我在取消对发布者的检查后在管理门户上删除它们,我就无法更改api。

发布者的UI一直弹出消息-"更新api时出错"。Wso2carbon.log打印

TID: [-1234] [api/am/publisher] [2022-05-18 14:31:38,333] ERROR 
{org.wso2.carbon.apimgt.rest.api.publisher.v1.impl.ApisApiServiceImpl} - Error while updating 
the API : 008d1f21-56b9-4356-a335-3c190ae9e86c - Specified tier(s) [Minimum] are invalid 
org.wso2.carbon.apimgt.api.APIManagementException: Specified tier(s) [Minimum] are invalid
******************************************************************************************
TID: [-1234] [api/am/publisher] [2022-05-18 14:31:38,499]  WARN 
{org.wso2.carbon.apimgt.impl.utils.APIUtil} - Unknown tier: Minimum found on API: 
MyApi

问题是,如果在发布者门户网站的订阅中未使用(未选中),为什么它会一直寻找已删除的层?如何安全地删除自定义订阅策略,以避免上述错误?

我也可以体验到相同的产品行为。作为一种变通方法,我成功地恢复了API,如下所示:

  • 如果删除后没有加载,则重新加载API
  • 转到API的订阅选项卡
  • 如果没有可选的订阅策略,请选择其中任何一个并单击保存(如果有可选的订阅策略,请单击保存)
  • 转到商业信息或基本信息选项卡,点击保存,看看它是否仍然出现

进一步防止删除分配给api的订阅策略,我已经打开了一个git问题[1]。您可以在那里跟踪问题。

[1] https://github.com/wso2/api-manager/issues/135