无法使用axis2实例化类型ADBDataSource

时间:2015-02-06 21:25:30

标签: java eclipse axis2

使用Eclipse EE和Eclipse Axis2 Code Generator插件后,我得到了两个 操作生成的java文件具有相同的错误:

Cannot instantiate the type ADBDataSource   ConcatRequest.java  
Cannot instantiate the type ADBDataSource   ConcatResponse.java

问题在于:

org.apache.axiom.om.OMDataSource dataSource = new
org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME);

此代码出现在ConcatRequest.java和ConcatResponse.java中 导致错误。我看到ADBDataSource是抽象的,无法实例化。

我对Axis完全不熟悉,我不知道如何解决这个问题。请帮忙。

3 个答案:

答案 0 :(得分:2)

由于版本不匹配axis2-adb,我遇到了这个问题。处理这个问题最安全的方法是查看eclipse插件的lib文件夹(eclipse/(dropins|plugins)/ ... .jar)。然后查找依赖项的版本并在构建路径中包含它们(您实际需要的那些)。

答案 1 :(得分:0)

旧主题,但是我正在处理一个带有多个子项目的旧项目。 在其中一个子项目中,我遇到了同样的信息。 这也是一个版本问题(Maven依赖...)。

  • 按住Ctrl键单击(在Eclipse / IntelliJ中)“ ADBDataSource”。是哪个版本?对我来说是1.5.6,但是在我的pom.xml中只有

<dependency>
	<groupId>org.apache.axis2</groupId>
	<artifactId>axis2</artifactId>
	<version>1.7.4</version>
</dependency>

  • 但是,此子项目依赖于另一个使用1.5.6 WAS的子项目(我是通过使用记事本++“搜索/在文件中查找”菜单选项在整个项目中搜索“ 1.5.6”来找到它的)。 / li>
  • 然后在对该项目的依赖中,我排除了1.5.6:

	<dependency>
		<groupId>com.group.id</groupId>
		<artifactId>anotherproject</artifactId>
		<version>version</version>
		<exclusions>
			<exclusion>
				<groupId>org.apache.axis2</groupId>
				<artifactId>axis2</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

  • 添加排除项后,该项目确实使用了1.7.4版本。

答案 2 :(得分:0)

我从WSDL生成JAVA存根时遇到了同样的问题。以下是我用来解决问题的步骤:

  1. 按照下面的链接生成存根:https://support.pcmiler.com/en/support/solutions/articles/19000053078-java-client-axis2-code-generator-for-eclipse

现在对该链接进行了一些小的调整。在完成上述链接中提到的第10点和第11点之后,仅使用axis2-1.7.9生成存根,并在生成存根时使用构建路径中\ axis2-1.7.9 \ lib中提到的jar。 / p>

希望这可以解决您的问题。