Sybase でストアド プロシージャを使用して WSO2 データ サービスを作成しています。ローカル変数に値を割り当てるたびにエラーが発生します。
ストアド プロシージャは次のとおりです ... Declare @user_id INT select @user_id =333
....
上記のselectステートメントが問題を引き起こし、以下のエラーを引き起こしているようです
DS Code: DATABASE_ERROR Nested Exception:- javax.xml.stream.XMLStreamException: DS Fault Message: Error in 'SQLQuery.processStoredProcQuery': The method com.sybase.jdbc3.jdbc.SybCallableStatement.getMoreResults(int) has not been completed and should not be called. DS Code: DATABASE_ERROR Source Data Service:- Name: testAmit Location: \testAmit.dbs Description: N/A Default Namespace: http://ws.wso2.org/dataservice Current Request Name: amitTestOps Current Params: {invId=22} Nested Exception:- com.sybase.jdbc3.utils.UnimplementedOperationException: The method com.sybase.jdbc3.jdbc.SybCallableStatement.getMoreResults(int) has not been completed and should not be called. </soapenv:Text>
select ステートメントにコメントを付けると、正常に動作します。
私のデータサービスは次のようになります
<data name="testAmit" transports="http https local">
<config enableOData="false" id="sybaseAmit">
<property name="driverClassName">com.sybase.jdbc3.jdbc.SybDriver</property>
<property ***db config deatils which I have omitted ***</property>
</config>
<query id="amitquery" useConfig="sybaseAmit">
<sql>exec sp_createCorrespondence ?</sql>
<result element="correspondences" rowName="correspondence">
<element column="correspondence_id" name="correspondenceIdValue" xsdType="integer"/>
</result>
<param name="invId" sqlType="INTEGER"/>
</query>
<operation name="amitTestOps">
<call-query href="amitquery">
<with-param name="invId" query-param="invId"/>
</call-query>
</operation>
</data>
どんな助けでも大歓迎です!(WSO EI バージョン 6.1.1、jconn3.jar、sybase ASE 15.7 を使用)