2014-01-07 56 views
0

WSO2 API Manager 1.6.0引入了一个新问题,REST Post添加API返回成功,但添加的API记录不完整,因此无法使用。检查日志文件,我将问题追溯到/publisher/site/themes/default/templates/overview/template.jag#3,对jaggery文件template.jag的更改导致第3行出现java空指针异常,其中包含以下内容代码'var endpoint_config = parse(api.endpointConfig);'wso2 api manager 1.6.0发布者 - 发布api调用addAPI静默失败

使用API​​ Manager 1.5.0,此相同的REST API调用可以工作,但需要3分钟才能在运行SLES 11 SP2的VMWare框上完成。通过网络界面添加一个API也花了3分钟。尝试在Mac OS X和Windows上都运行大约3秒。通过API Manager 1.6.0在相同的环境下,Web界面现在运行时间低于6秒,并且添加的API是正确的。现在通过REST调用添加API会导致创建不完整的记录,并在VMWare上使用SLES 11 SP2和Mac OSX Mavericks进行测试。

任何人都遇到过这个问题?

回答

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"} 
+0

这是它的确要求,我已经注意到了额外的参数,但并不能确定他们是强制性的。谢谢阿米拉。这解决了这个问题。 – Isaka