wso2 DSS值类型未命中匹配,预期值类型 - 'dateTime',但找到 - 'STRING'

时间:2016-07-22 01:39:28

标签: json apache wso2 axis2 wso2dss

我想用wso2 dss将此对象保存到数据库中。但它显示日期格式有错误。

Value type miss match, Expected value type - 'dateTime', but found - 'STRING'

示例post messgae就是这个

{
"insert_subscribe_merchant_operation":
{
        "customerrefid": 1,
        "merchantrefid": "1",
        "datetime": "2012-03-14T00:00:00+05:30",
        "registereddevice":"1234567890",
        "latlongregistered": "xczv",
        "totalpoints":1000,
        "redeemablepoints":800,
        "expirydate": "2012-03-14T00:00:00+05:30",
        "qrcode": "xvc",
        "currentoffercount":10,
        "schemerefid":1
      }
}

但是当我尝试使用xml类型时它工作正常

<insert_subscribe_merchant_operation>
         <customerrefid>1</customerrefid>
         <merchantrefid>"1"</merchantrefid>
         <datetime>2012-03-14T00:00:00+05:30</datetime>
         <registereddevice>"1234567890"</registereddevice>
         <latlongregistered>"234"</latlongregistered>
         <totalpoints>876</totalpoints>
         <redeemablepoints>345</redeemablepoints>
         <expirydate>2012-03-14T00:00:00+05:30</expirydate>
         <qrcode>"?"</qrcode>
         <currentoffercount>20</currentoffercount>
         <schemerefid>1</schemerefid>
</insert_subscribe_merchant_operation>

请帮帮我!!!!

2 个答案:

答案 0 :(得分:1)

通过修改wso2 dss axis2.xml

解决了这个问题
<messageFormatter contentType="application/json"
              class="org.apache.axis2.json.JSONMessageFormatter"/>
<messageBuilder contentType="application/json"
                class="org.apache.axis2.json.JSONOMBuilder"/>

删除Gson格式化程序。

答案 1 :(得分:1)

DSS即将发布的版本(3.5.1)中已修复此问题。相关的JIRA是DS-1190。作为解决方法,您可以按照建议切换到org.apache.axis2.json.JSONMessageFormatter和org.apache.axis2.json.JSONOMBuilder。