WSO2 API Manager 1.6.0引入了一个新问题,一个REST Post to addAPI返回成功,但添加的API记录不完整,因此无法使用。检查日志文件,我将问题追溯到/publisher/site/themes/default/templates/overview/template.jag#3,jaggery文件template.jag中的更改导致第3行上的java空指针异常,具有以下内容代码'var endpoint_config = parse(api.endpointConfig);'
使用API Manager 1.5.0,这个相同的REST API调用有效,但在运行SLES 11 SP2的VMWare盒上完成需要3分钟。通过Web界面添加API也需要3分钟。在Mac OS X和Windows上试用,运行大约需要3秒。使用相同环境下的API Manager 1.6.0,Web界面现在可以在6秒内运行,并且添加的API是正确的。现在通过REST调用添加API会导致创建不完整的记录,并在具有SLES 11 SP2和Mac OSX Mavericks的VMWare上进行测试。
有人遇到过这个问题吗?
答案 0 :(得分:1)
似乎与发布商API相关的文档尚未更新。使用API Manager 1.6.0,端点的存储方式发生了变化。要使REST API调用有效,您可以尝试使用类似于以下的请求;
curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag -d"action=addAPI&name=YouTube1&context=%2Fyoutube1&version=1.0.0&tier=Gold&responseCache=disabled&visibility=public&endpoint_config=%7B%22production_endpoints%22%3A%7B%22url%22%3A%22http%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fapi%2Fstandardfeeds%2Fmost_popular%22%2C%22config%22%3Anull%7D%2C%22endpoint_type%22%3A%22http%22%7D&endpointType=nonsecured&subscriptions=current_tenant&resourceTemplate=%2F*&resourceCount=0&resourceMethod-0=POST&resourceMethodAuthType-0=Application&uriTemplate-0=%2F*&resourceMethodThrottlingTier-0=Unlimited&tiersCollection=Gold"
解码请求时,您可以看到端点现在定义为JSON
endpoint_config={"production_endpoints":{"url":"http://gdata.youtube.com/feeds/api/standardfeeds/most_popular","config":null},"endpoint_type":"http"}