[ http://wso2.org/jira/browse/WSAS-668?page=comments#action_14415 ] sumedha rubasinghe commented on WSAS-668: -----------------------------------------
Please check this issue with latest build. > Data service: Fails to invoke a data service if the query has a mysql5 stored > procedure call > -------------------------------------------------------------------------------------------- > > Key: WSAS-668 > URL: http://wso2.org/jira/browse/WSAS-668 > Project: WSO2 WSAS > Issue Type: Bug > Components: data-services > Environment: wsas2.2-qabuild2, jdk15, winxp > Reporter: Charitha Kankanamge > Assigned To: sumedha rubasinghe > Priority: Critical > > I'm getting the following error when trying to invoke a data service > operation, if the query has a SP call. > org.apache.axis2.AxisFault: Exception occurred while trying to execute the > SQL statement : call getEmployee(?) > at org.wso2.ws.dataservice.DBUtils.getSelectResult(DBUtils.java:362) > at org.wso2.ws.dataservice.DBUtils.getRDBMSResult(DBUtils.java:153) > at org.wso2.ws.dataservice.DBUtils.processSQLQuery(DBUtils.java:101) > at org.wso2.ws.dataservice.DBUtils.invoke(DBUtils.java:394) > at > org.wso2.ws.dataservice.DBMessageReceiver.invokeBusinessLogic(DBMessageReceiver.java:41) > at > org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42) > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:148) > at > org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135) > at > org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:129) > at > org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:803) > at > org.wso2.wsas.transport.WSASServlet.handleRestRequest(WSASServlet.java:149) > at org.wso2.wsas.transport.WSASServlet.doGet(WSASServlet.java:138) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.wso2.adminui.AdminUIServletFilter.doFilter(AdminUIServletFilter.java:142) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:595) > Caused by: java.sql.SQLException: PROCEDURE employeedb.getEmployee can't > return a result set in the given context > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997) > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167) > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278) > at com.mysql.jdbc.Connection.execSQL(Connection.java:2251) > at > com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1586) > at org.wso2.ws.dataservice.DBUtils.getSelectResult(DBUtils.java:251) > ... 31 > Given below is the relevant data service query. > <query id="StoredprocQuery"> > <sql>call getEmployee(?)</sql> > <result element="employees" rowName="employee"> > <element name="id" column="id" /> > <element name="name" column="name" /> > <element name="address" column="address" /> > </result> > <param name="empid" sqlType="INTEGER" /> > </query> > <operation name="getEmpusingSP"> > <call-query href="StoredprocQuery"> > <with-param name="id" query-param="empid" /> > </call-query> > </operation> > And, here is my SP. > mysql> CREATE PROCEDURE getEmployee(empid INTEGER) select id, name, address > from employee where id=empid; -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://wso2.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira _______________________________________________ Wsas-java-dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/wsas-java-dev
