WSO2 DSS:使用空值对数据库进行Rest调用
我正在尝试使用以下配置调用DSS中的服务:WSO2 DSS:使用空值对数据库进行Rest调用,wso2,Wso2,我正在尝试使用以下配置调用DSS中的服务: <query id="getAllPerformancesQuery" useConfig="lta_catalogue"> <sql>select idperformance, name, description from performance</sql> <result element="performances" rowName="performance"> <
<query id="getAllPerformancesQuery" useConfig="lta_catalogue">
<sql>select idperformance, name, description from performance</sql>
<result element="performances" rowName="performance">
<element column="idperformance" name="idperformance" xsdType="integer"/>
<element column="name" name="name" xsdType="string"/>
<element column="description" name="description" xsdType="string"/>
</result>
</query>
<resource method="GET" path="performances">
<call-query href="getAllPerformancesQuery"/>
</resource>
日志中出现此异常时:
Caused by: java.lang.IllegalStateException: Dangling name: description
at com.google.gson.stream.JsonWriter.close(JsonWriter.java:302)
at com.google.gson.stream.JsonWriter.endObject(JsonWriter.java:277)
at org.apache.axis2.json.gson.GsonXMLStreamWriter.writeEndElement(GsonXMLStreamWriter.java:394)
at org.wso2.carbon.dataservices.core.engine.XMLWriterHelper.endElement(XMLWriterHelper.java:110)
at org.wso2.carbon.dataservices.core.description.query.Query.writeResultEntry(Query.java:400)
at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:857)
... 54 more
有什么想法吗?编辑respository/conf/axis2/axis2.xml并更改正确的消息生成器和格式化程序
<messageFormatter contentType="application/json"
class="org.apache.axis2.json.JSONMessageFormatter"/>
<!--messageFormatter contentType="application/json"
class="org.apache.axis2.json.gson.JsonFormatter" /-->
<messageBuilder contentType="application/json"
class="org.apache.axis2.json.JSONOMBuilder"/>
<!--messageBuilder contentType="application/json"
class="org.apache.axis2.json.gson.JsonBuilder" /-->
DSS 3.2.2版本中修复了此问题。相关的JIRA可从
Caused by: java.lang.IllegalStateException: Dangling name: description
at com.google.gson.stream.JsonWriter.close(JsonWriter.java:302)
at com.google.gson.stream.JsonWriter.endObject(JsonWriter.java:277)
at org.apache.axis2.json.gson.GsonXMLStreamWriter.writeEndElement(GsonXMLStreamWriter.java:394)
at org.wso2.carbon.dataservices.core.engine.XMLWriterHelper.endElement(XMLWriterHelper.java:110)
at org.wso2.carbon.dataservices.core.description.query.Query.writeResultEntry(Query.java:400)
at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:857)
... 54 more
<messageFormatter contentType="application/json"
class="org.apache.axis2.json.JSONMessageFormatter"/>
<!--messageFormatter contentType="application/json"
class="org.apache.axis2.json.gson.JsonFormatter" /-->
<messageBuilder contentType="application/json"
class="org.apache.axis2.json.JSONOMBuilder"/>
<!--messageBuilder contentType="application/json"
class="org.apache.axis2.json.gson.JsonBuilder" /-->