【问题标题】:Wso2 Data Service error: NoSuchMethodErrorWso2 数据服务错误:NoSuchMethodError
【发布时间】:2014-07-15 08:32:33
【问题描述】:

当我在 Carbon 管理控制台中创建 Wso2 数据服务时,我收到以下错误:

[2014-07-15 09:21:40,558] 错误 {org.wso2.carbon.dataservices.core.DBDeployer} - Jim2.dbs 服务无效,导致 {1} java.lang.NoSuchMethodError: org.apache.axis2.wsdl.WSDLUtil.getConstantFromHTTPLocationForResource(Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/Pattern; 在 org.wso2.carbon.dataservices.core.DBDeployer.createAxisOperation(DBDeployer.java:594) 在 org.wso2.carbon.dataservices.core.DBDeployer.createAxisOperationFromDSOperation(DBDeployer.java:532) 在 org.wso2.carbon.dataservices.core.DBDeployer.createDBService(DBDeployer.java:829) 在 org.wso2.carbon.dataservices.core.DBDeployer.processService(DBDeployer.java:1127) 在 org.wso2.carbon.dataservices.core.DBDeployer.deploy(DBDeployer.java:178) 在 org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) 在 org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:810) 在 org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) 在 org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377) 在 org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) 在 org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) 在 org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59) 在 org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67) 在 org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:65) 在 org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:110) 在 java.util.concurrent.Executors$RunnableAdapter.call(未知来源) 在 java.util.concurrent.FutureTask.runAndReset(未知来源) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(未知来源) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(未知来源) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(未知来源)

数据服务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>

【问题讨论】:

  • 您的 DSS 版本是多少?而且,您是否更改了 DSS_HOME/repository/components/plugins 下的任何 jar?
  • DSS 包中的 jar 似乎有问题。最好尝试使用新包装(如果您对包装中的罐子进行了任何更改)。

标签: wso2 wso2esb wso2carbon wso2dss


【解决方案1】:

我在这里假设您已经在 ESB 或任何其他碳产品上安装了 DSS 功能。这是因为 carbon 产品中的axis2 jar 不包含方法“getConstantFromHTTPLocationForResource”,但数据服务核心在数据服务部署时正在搜索该方法。这个方法是内核patch 0005引入的,从nexus repo下载patch0005并应用到carbon产品中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多