Wso2 Dss вставить ноль кассандры
Я использую wso2 dss для вставки данных в таблицу cassandra. для примера этой таблицы: CREATE TABLE logs.test (id int,code int, PRIMARY KEY (id));
Внутри wso2 dss я определил столбец кода со значением по умолчанию, например: #{NULL}
Когда я пытаюсь службы DSS, как это без указания параметра кода:
<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.NumberFormatException: для входной строки: "null"
С наилучшими пожеланиями, Николас
3 ответа
Можно ли получить источник службы данных? Вы пробовали со следующей полезной нагрузкой
<p:test xmlns:p="http://ws.wso2.org/dataservice">
<p:id>1</p:id>
<p:code>2</p:code>
</p:test>
Так что я думаю, что ваша проблема в этой части
<param defaultValue="#{NULL}" name="code" sqlType="INTEGER"/>.
Я не знаю ваш вариант использования, но если я хорошо помню, вставлять нулевые значения в Cassandra не очень хорошо, потому что это создает надгробия. Вы могли бы также иметь второй запрос, который просто вставляет идентификатор как
insert test (id) values (:id).
Звук исполнения, который должен вызывать dss, а не cassandra, похоже, что он не может установить нулевое значение для целочисленного поля.
Я нахожу обходной путь, я использую jdbc cassandra вместо драйвера com.datatasax. И это хорошо работает. Единственная проблема заключается в том, что я могу просто вызвать только один узел для соединения, а не кластер. Я надеюсь, что проблема будет решена в ближайшее время, и я снова буду использовать соединение с источником данных Dss Cassandra.
Спасибо за вашу помощь