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.

Спасибо за вашу помощь

Другие вопросы по тегам