如何调试Wsdl2Java Jaxb错误“声明导致冲突”

时间:2011-02-14 16:50:13

标签: jaxb cxf wsdl2java

我有一个由.NET生成的wsdl,我试图在java应用程序中使用它。为此,我尝试使用CXF Wsdl2Java工具。问题是当工具运行时,它会抛出一个jaxb异常:

Thrown by JAXB: Two declarations cause a collision in the ObjectFactory class.

据我所知,我可能需要创建一个自定义绑定文件来在构建时重命名对象,但我不知道从哪里开始。如何找出wsdl中的哪些对象导致问题?

(如果异常实际上说明哪些元素导致了命名冲突,那么它似乎 nice

2 个答案:

答案 0 :(得分:1)

这可能有效:

  1. 告诉cxf使用以下命令解决名称冲突:-autoNameResolution 命令行参数
  2. 告诉jaxb不要删除下划线: jaxb:globalBindings underscoreBinding =“asCharInWord”
  3. 来源:http://www.jroller.com/ouertani/entry/wsdl_integration_problem_two_declarations

答案 1 :(得分:0)

除上述内容外,请确保使用的是最新版本的CXF wsdl2java工具。最新版本在尝试获取JAXB发现这些类型错误的行/列号方面做得更好。至少可以给出一个基本的指示,看看它们仍然不容易追踪。