cassandra wso2 cql wso2dss

Cómo pasar un parámetro a una consulta Cassandra CQL en WSO2 DSS



wso2dss (1)

He estado intentando obtener una consulta de CQL parametrizada que funciona en WSO2 DSS. Lamentablemente no he tenido éxito. Aprecie su ayuda pronto ya que estoy atrapado en un asunto urgente.

El siguiente es el contenido del archivo DBS

<data name="CassParamTest"> <config id="CassDs"> <property name="org.wso2.ws.dataservice.protocol">jdbc:cassandra://localhost:9161/oneDataAux</property> <property name="org.wso2.ws.dataservice.driver">org.apache.cassandra.cql.jdbc.CassandraDriver</property> </config> <query id="getEmps" useConfig="CassDs"> <sql>select employeeNumber from EMPLOYEES where employeeNumber = :employeeNumber</sql> <param name="employeeNumber" sqlType="STRING" /> </query> <operation name="getEmps"> <call-query href="getEmps"> <with-param name="employeeNumber" query-param="employeeNumber" /> </call-query> </operation> </data>

En realidad, el parámetro employeeNumber es un número. Pero seguí recibiendo errores. Así que lo intenté con String sin ningún resultado. ¿También lo intenté? en lugar del parámetro nombrado

Aquí están los errores que obtuve.

Cuando el parámetro es una cadena,

<soapenv:Fault xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:axis2ns12="http://ws.wso2.org/dataservice"> <soapenv:Code> <soapenv:Value>axis2ns12:DATABASE_ERROR</soapenv:Value> </soapenv:Code> <soapenv:Reason> <soapenv:Text xml:lang="en-US" xmlns:xml="http://www.w3.org/XML/1998/namespace">DS Fault Message: Error in DS non result invoke. DS Code: DATABASE_ERROR Nested Exception:- javax.xml.stream.XMLStreamException: DS Fault Message: Error in ''SQLQuery.processNormalQuery'' DS Code: DATABASE_ERROR Source Data Service:- Name: CassParamTest Location: /CassParamTest.dbs Description: N/A Default Namespace: http://ws.wso2.org/dataservice Current Request Name: getEmps Current Params: {employeeNumber=1002} Nested Exception:- java.sql.SQLNonTransientException: No Update Count was returned from the CQL statement passed in an ''executeUpdate()'' method </soapenv:Text> </soapenv:Reason> <soapenv:Detail> <axis2ns11:DataServiceFault xmlns:axis2ns11="http://ws.wso2.org/dataservice">DS Fault Message: Error in DS non result invoke. DS Code: DATABASE_ERROR Nested Exception:- javax.xml.stream.XMLStreamException: DS Fault Message: Error in ''SQLQuery.processNormalQuery'' DS Code: DATABASE_ERROR Source Data Service:- Name: CassParamTest Location: /CassParamTest.dbs Description: N/A Default Namespace: http://ws.wso2.org/dataservice Current Request Name: getEmps Current Params: {employeeNumber=1002} Nested Exception:- java.sql.SQLNonTransientException: No Update Count was returned from the CQL statement passed in an ''executeUpdate()'' method </axis2ns11:DataServiceFault> </soapenv:Detail> </soapenv:Fault>

Cuando el parámetro es un número,

DS Code: DATABASE_ERROR Nested Exception:- javax.xml.stream.XMLStreamException: DS Fault Message: Error in ''SQLQuery.processNormalQuery'' DS Code: DATABASE_ERROR Source Data Service:- Name: CassParamTest Location: /CassParamTest.dbs Description: N/A Default Namespace: http://ws.wso2.org/dataservice Current Request Name: getEmps Current Params: {employeeNumber=1002} Nested Exception:- java.sql.SQLException: Mismatched types: java.math.BigInteger cannot be cast to java.lang.String

GRACIAS POR SU TIEMPO Y SU AYUDA