Wso2 Dss插入空cassandra

wd2eg0qa  于 12个月前  发布在  Cassandra
关注(0)|答案(3)|浏览(132)

我使用wso 2 dss将数据插入到cassandra表中。对于这个表:CREATE TABLE logs.test(id int,code int,PRIMARY KEY(id));
在wso 2 dss中,我使用如下默认值定义了代码列:#{NULL}
当我尝试这样的dss服务时,没有给出code参数:

<p:test xmlns:p="http://ws.wso2.org/dataservice">
<xs:id xmlns:xs="http://ws.wso2.org/dataservice">1</xs:id>
</p:test>

字符串
我得到这个错误:

<axis2ns56:source_data_service>
        <axis2ns56:data_service_name>Cassandra</axis2ns56:data_service_name>
        <axis2ns56:description>N/A</axis2ns56:description>
        <axis2ns56:location>\Cassandra.dbs</axis2ns56:location>
        <axis2ns56:default_namespace>http://ws.wso2.org/dataservice</axis2ns56:default_namespace>
     </axis2ns56:source_data_service>
     <axis2ns56:ds_code>UNKNOWN_ERROR</axis2ns56:ds_code>
     <axis2ns56:nested_exception>java.lang.NumberFormatException: null</axis2ns56:nested_exception>


嵌套异常:- java.lang. NumberError异常:对于输入字符串:“null”
最好的问候,尼古拉斯

tzdcorbm

tzdcorbm1#

是否有可能获得该服务的源?是否尝试使用以下有效负载

<p:test xmlns:p="http://ws.wso2.org/dataservice">
  <p:id>1</p:id>
  <p:code>2</p:code>
</p:test>

字符串

7tofc5zh

7tofc5zh2#

所以我想你的问题是在这部分

<param defaultValue="#{NULL}" name="code" sqlType="INTEGER"/>.

字符串
我不知道你的用例,但如果我记得很清楚,在Cassandra中插入null值并不太好,因为它会创建墓碑。

insert test (id) values (:id).


异常声音由dss而不是cassandra引发,看起来它无法为整数字段设置空值

nbewdwxp

nbewdwxp3#

我找到了一个解决方法,我使用jdbc cassandra而不是com.datatasax驱动程序。它工作得很好。唯一的问题是,我只能调用一个节点的连接,而不是集群。我希望这个问题很快就会解决,我会再次使用Dss Cassandra集群连接。
谢谢你的帮助

相关问题