首页 文章

Wso2数据服务错误:NoSuchMethodError

提问于
浏览
0

当我在Carbon Management Console中创建Wso2数据服务时,出现以下错误:

[2014-07-15 09:21:40,558] ERROR {org.wso2.carbon.dataservices.core.DBDeployer} -  The Jim2.dbs service, which is not valid, caused {1}
java.lang.NoSuchMethodError: org.apache.axis2.wsdl.WSDLUtil.getConstantFromHTTPLocationForResource(Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/Pattern;
    at org.wso2.carbon.dataservices.core.DBDeployer.createAxisOperation(DBDeployer.java:594)
    at org.wso2.carbon.dataservices.core.DBDeployer.createAxisOperationFromDSOperation(DBDeployer.java:532)
    at org.wso2.carbon.dataservices.core.DBDeployer.createDBService(DBDeployer.java:829)
    at org.wso2.carbon.dataservices.core.DBDeployer.processService(DBDeployer.java:1127)
    at org.wso2.carbon.dataservices.core.DBDeployer.deploy(DBDeployer.java:178)
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
    at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:810)
    at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
    at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
    at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
    at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
    at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
    at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
    at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:65)
    at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:110)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

数据服务xml:

<data disableStreaming="true" name="Jim2">
   <config id="jim2">
      <property name="carbon_datasource_name">MysqlJim</property>
   </config>
   <query id="query" useConfig="jim2">
      <sql>select * from Users</sql>
      <result element="Users" rowName="User">
         <element column="Username" name="Username" xsdType="string"/>
         <element column="Email" name="Email" xsdType="string"/>
         <element column="Password" name="Password" xsdType="string"/>
      </result>
   </query>
   <operation name="operation1">
      <call-query href="query"/>
   </operation>
</data>

1 回答

  • 1

    我假设您在ESB或任何其他碳产品上安装了DSS功能 . 这是因为碳产品中的axis2 jar不包含方法'getConstantFromHTTPLocationForResource',但dataservice核心在dataservice部署时间内搜索该方法 . 此方法由内核补丁0005引入 . 从nexus repo下载patch0005并将其应用于碳产品 .

相关问题