Wso2 DSS和SQL Server exec存储过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wso2 DSS和SQL Server exec存储过程相关的知识,希望对你有一定的参考价值。

当我输入WSO2查询来执行一个简单的存储过程(sp_xxx exec)时,调用服务时会发生错误,但是当我放入一个SQL SELECT时,它正常工作。有谁知道为什么?

这是错误日志:

[2012-08-09 09:01:55,071] ERROR {org.apache.axis2.transport.http.AxisServlet} -  
java.lang.AbstractMethodError
        at org.apache.commons.dbcp.DelegatingResultSet.isClosed(DelegatingResultSet.java:688)
        at org.apache.commons.dbcp.DelegatingResultSet.isClosed(DelegatingResultSet.java:688)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processStoredProcQuery(SQLQuery.java:904)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.runQuery(SQLQuery.java:2071)
        at org.wso2.carbon.dataservices.core.description.query.Query.execute(Query.java:252)
        at org.wso2.carbon.dataservices.core.engine.CallQuery.execute(CallQuery.java:185)
        at org.wso2.carbon.dataservices.core.engine.CallQueryGroup.execute(CallQueryGroup.java:110)
        at org.wso2.carbon.dataservices.core.description.operation.Operation.execute(Operation.java:71)
        at org.wso2.carbon.dataservices.core.engine.DataService.invoke(DataService.java:592)
        at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.execute(DSOMDataSource.java:99)
        at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.serialize(DSOMDataSource.java:110)
        at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:691)
        at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:563)
        at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:875)
        at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:283)
        at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:245)
        at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:193)
        at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:74)
        at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:409)
        at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:286)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
        at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:45)
        at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
        at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
        at org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:199)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:164)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.wso2.carbon.server.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:154)
        at org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:254)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

有没有人有任何解决方案?

答案

您应该能够使用WSO2数据服务服务器成功执行存储过程。当您遇到上述问题时,能否在控制台或DSS_HOME / repository / logs / wso2carbon.log中打印错误日志(如果有的话)?

此致,Prabath

另一答案

您发布的内容很可能与此处报道的相同:https://wso2.org/jira/browse/DS-550。这已针对即将推出的DSS 3.0.0版本进行了修复。原因是,您使用的是JDBC3驱动程序,但在DSS 2.6.3中,我们使用JDBC4(Java6)功能,因此您应该使用JDBC4驱动程序。但看起来,到目前为止我们专门使用的唯一JDBC4功能(可能会给旧驱动程序带来问题)是ResultSet.isClosed,我们在新版本中为此设置了一个解决方法。如果要修补数据服务核心jar,那么补丁就存在问题,或者只是尝试使用JDBC4驱动程序。

干杯,Anjana。

以上是关于Wso2 DSS和SQL Server exec存储过程的主要内容,如果未能解决你的问题,请参考以下文章

为什么我尝试执行WSO2 DSS插入查询时获得“不支持的数据类型:TEXT作为输入参数”?

WSO2 Identity Server 集群:集群中的每个节点是不是需要共享一个通用的 SQL 数据库?

DSS 无法连接到不同的 Oracle 数据库版本

SQL 超级重点 (SQL Server 2008)

WSO2 BAM 的创建小工具

WSO2 Identity Server 和 WSO2 API Manager 集成 - java.rmi.server.ExportException:端口已在使用:9999;