2015-01-15 26 views
1

我试图在创建新的API时在WSO2 AM 1.8.0中导入Swagger定义。但是,导入失败,并在日志下面的例外,WSO2 API Manager 1.8.0无法导入Swagger定义

ERROR {JAGGERY.site.blocks.item-design.ajax.import:jag} - org.mozilla.javascript.WrappedException: Wrapped com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 27 (/publisher/site/blocks/item-design/ajax/import.jag#25) 

Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 27 

Caused by: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 27 

我使用以下配置:

  • 扬鞭,core_2.11-1.3.12
  • 扬鞭,jersey2-jaxrs_2 .11-1.3.12
  • 扬鞭的注解-1.3.12
  • 的Tomcat 7
  • JDK 1.7
  • WSO2 API Manager 1.8.0

我创建了两个简单的restful服务并为它们添加了Swagger注释。我可以在Swagger UI中看到doc,并且可以调用它们。我验证生成的JSON的列表和资源,并找到它有效。但是,当我尝试在WSO2AM中导入该定义时,它不能这么做。

WSO2 AM 1.8.0支持哪些Swagger规范?

任何帮助,高度赞赏。谢谢。

+0

有没有可能共享导致失败的JSON? – Ron

+0

感谢您的回复。但是,我能够克服这个问题。文件'wso2am-1.8.0 \ repository \ deployment \ server \ jaggeryapps \ publisher \ site \ blocks \ item-design \ ajax \ import.jag'具有发送http请求并在循环中获取json数据的代码。 'var xhr = new XMLHttpRequest(); \t为(VAR I = 0;我 Bipin

+0

这可能是错误修复,可以添加到WSO2AM源? – Bipin

回答

0

我可以解决这个问题。文件wso2am-1.8.0 \ repository \ deployment \ server \ jaggeryapps \ publisher \ site \ blocks \ ite m-design \ ajax \ import.jag有发送http请求并在循环中获取json数据的代码。

var xhr = new XMLHttpRequest(); for(var i = 0; i < swaggerJson.apis.length; i++){ xhr.open("GET", url + swaggerJson.apis[i].path);

出于某种原因,这是无法再次使用XMLHttpRequest实例发送后续请求。我将XMLHttpRequest实例创建语句移到了for循环中,并且工作正常。

//var xhr = new XMLHttpRequest(); for(var i = 0; i < swaggerJson.apis.length; i++){ var xhr = new XMLHttpRequest(); // moved instance creation here xhr.open("GET", url + swaggerJson.apis[i].path);

+0

不要忘记接受它作为答案;) – Ron

+0

感谢您的指导。 ;) – Bipin

相关问题