WSO2 DSS:使用空值对数据库进行Rest调用

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"> <

我正在尝试使用以下配置调用DSS中的服务:

<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" /-->