我部署了API Manager 2.1.0并设置了api-import-export-2.1.0 war文件described here。通过上传zip文件导入我的API端点后,status = CREATED。
要实际发布API,我正在调用发布商的change-lifecycle API,但我收到此异常:
TID:[ - 1234] [] [2017-07-06 11:11:57,289]错误 {} org.wso2.carbon.apimgt.rest.api.util.exception.GlobalThrowableMapper - 全局异常映射器捕获了一个未知异常。 {} org.wso2.carbon.apimgt.rest.api.util.exception.GlobalThrowableMapper java.lang.NoSuchMethodError: org.wso2.carbon.apimgt.api.APIProvider.changeLifeCycleStatus(Lorg / WSO2 /碳/ apimgt / API /模型/ APIIdentifier; Ljava /郎/字符串;)z
为什么有任何想法?
我可以获得访问令牌(范围apim:api_view)并调用此
:9443 / api / am / publisher / v0.10 / apis
列出api就好了。
我得到一个不同的acces_token(对于范围:apim:api_publish),然后调用
:9443 / API / AM /出版者/ v0.10 / API的/变化的生命周期
但是得到上面的例外。这是一个例子:
[root@localhost] ./publish.sh
View APIs (token dc0c1497-6c27-3a10-87d7-b2abc7190da5 scope: apim:api_view)
curl -k -s -H "Authorization: Bearer dc0c1497-6c27-3a10-87d7-b2abc7190da5" https://gw-node:9443/api/am/publisher/v0.10/apis
{
"count": 1,
"next": "",
"previous": "",
"list": [
{
"id": "d214f784-ee16-4067-9588-0898a948bb17",
"name": "Health",
"description": "health check",
"context": "/api",
"version": "v1",
"provider": "admin",
"status": "CREATED"
}
] }
Publish API (token b9a31369-8ea3-3bf2-ba3c-7f2a4883de7d scope: apim:api_publish)
curl -k -H "Authorization: Bearer b9a31369-8ea3-3bf2-ba3c-7f2a4883de7d" -X POST https://gw-node:9443/api/am/publisher/v0.10/apis/change-lifecycle?apiId=d214f784-ee16-4067-9588-0898a948bb17&action=Publish
{
"code":500,
"message":"Internal server error",
"description":"The server encountered an internal error. Please contact administrator.",
"moreInfo":"",
"error":[]
}
答案 0 :(得分:0)
问题已解决。在apim 2.1中,出版商&商店API版本已更改。
在apim 2.0中我使用:
:9443 / API / AM /出版者/ v0.10 / API的 :9443 / API / AM /存储/ v0.10 / API的 但在apim 2.1中它们是: :9443 / API / AM /发行人/ v0.11 / API的 :9443 / API / AM /商店/ v0.11 / API的