【问题标题】:wsdl2java xmlbeans databinding issuewsdl2java xmlbeans 数据绑定问题
【发布时间】:2012-08-31 08:07:26
【问题描述】:

我已经使用 wsdl2java 生成了 java-class 文件并使用了 xmlbeans 数据绑定。由于许多错误,无法编译生成的文件,例如:

错误:找不到符号 [javac] return WrappedType.get().xgetPolicyGroup();

错误:找不到符号 [javac] return WrappedType.get().xgetPolicyPresharedKey();

这是一个匹配第一个错误的生成代码示例:

private com.sample.webservice.PolicyGroupType getPolicyGroup(com.sample.webservice.PolicyGroupDTODocument wrappedType)
{
    return wrappedType.get().xgetPolicyGroup();
}

PolicyGroupDTODocument 定义如下:

public interface PolicyGroupDTODocument extends org.apache.xmlbeans.XmlObject

和实现为

public class PolicyGroupDTODocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.sample.webservice.PolicyGroupDTODocument

我认为 get 和 xget 方法在某种程度上是从 XmlObject 继承的。生成的代码或生成过程有什么问题?

【问题讨论】:

  • PolicyGroupDTODocument#get() 返回什么类型?
  • @Ilya Class PolicyGroupDTODocument 本身纯粹是由 wsdl2java 生成的。我应该在哪里搜索此方法定义?在生成的 java 文件中?
  • 是的,在生成的类 PolicyGroupDTODocument 中
  • @Ilya PolicyGroupDTODocument.java 和 PolicyGroupDTODocumentImpl.java 中都没有这样的方法。只有类工厂和几个方法,包括 getPolicyGroupDTO

标签: java data-binding axis2 wsdl2java xmlbeans


【解决方案1】:

很奇怪...要回答您的问题,请提供以下详细信息:

  1. 您在运行 wsdl2java 时提供了哪些命令选项。您可以在this link.中找到所有选项

  2. 当您运行 Wsdl2Java 时,它会打印如下消息:Using Axis2_home:..... and using Java_HOME.....您能提供这些值吗?

  3. 我假设您将所有源代码文件放在一个目录中。那么你什么时候遇到编译问题。您是尝试在命令行上使用 javac 还是使用 Eclipse 之类的 IDE 来导入所有文件并进行编译,或者您是想从中创建一个 jar?

    确保您使用的 JDK 与上述步骤 2 中使用的 JDK 相同,并且使用与步骤 2 中相同的轴 jar。确保您设置的类路径是正确的。你能提供你正在设置的类路径的值吗?很可能与类路径问题有关。

更新#1 请尝试以下步骤: 1. 尝试运行不带 -b 选项的 wsdl2java 并查看是否出现错误。 2. 由于你的 java 包是 com.sample.webservice 所以,你必须使用命令从 com 文件夹的父目录编译: javac -d 。 -g com/sample/webservice/*.java
请注意 -d 选项被传递,以便 javac 编译器强制构建包结构。和 -g 选项将为您提供详细的调试输出。

【讨论】:

  • 这里是生成选项pastebin.com/jqYYgyiF。我没有看到像 Axis2_home... 这样的消息,但这些值应该没问题。我正在使用 javac 创建 jar
【解决方案2】:

尝试使用不同版本的 Axis2。具有讽刺意味的是,我发现有时代码可以在使用不同版本生成后进行编译。运行并编译后,请确保您使用相同版本的 Axis 来执行代码,否则您会收到无数其他错误。

我得到了不同的结果,在 1.4、1.5.6 和 1.6.0 之间切换。

【讨论】:

    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 2011-01-17
    • 2017-02-16
    • 2011-10-18
    • 2021-01-04
    相关资源
    最近更新 更多