Wso2 Dss вставить ноль кассандры - PullRequest
0 голосов
/ 23 мая 2018

Я использую 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 ]

0 голосов
/ 24 мая 2018

Так что я думаю, что ваша проблема в этой части

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

Я не знаю ваш вариант использования, но если я хорошо помню, вставлять нулевые значения в Cassandra не очень приятно, потому что это создает надгробия.Вы могли бы также иметь второй запрос, который просто вставляет идентификатор, например

insert test (id) values (:id).

Звук исполнения, который должен вызывать dss, а не cassandra, похоже, что он не может установить нулевое значение для целочисленного поля

0 голосов
/ 25 мая 2018

Я нахожу обходной путь, я использую jdbc cassandra вместо драйвера com.datatasax.И это хорошо работает.Единственная проблема заключается в том, что я могу просто вызвать только один узел для соединения, а не кластер.Я надеюсь, что проблема будет решена в ближайшее время, и я снова буду использовать соединение с источником данных Dss Cassandra.

Спасибо за помощь

0 голосов
/ 24 мая 2018

Можно ли получить источник службы данных?Вы пробовали со следующей полезной нагрузкой

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