WSO2 API Manager 1.8.0无法导入Swagger定义

时间:2015-01-15 15:01:45

标签: wso2 swagger wso2-am

我正在尝试在创建新API时在WSO2 AM 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规范?

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分: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实例来发送后续请求。我在for循环中移动了XMLHttpRequest实例创建语句,它起作用了。

//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);