JamesP
JamesP

Reputation: 91

How to debug Wsdl2Java Jaxb error "declarations cause a collision"

I have a wsdl that was generated by .NET that I am trying to consume in a java application. To do this, I am trying to use the CXF Wsdl2Java tool. The problem is that when the tool runs, it throws a jaxb exception:

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

I understand that I probably need to create a custom binding file to rename an object at build time, but I have no idea where to start. How do I find out which objects in the wsdl are causing the problems?

(It seems like it would be nice if the exception actually said which elements were causing the naming conflict)

Upvotes: 9

Views: 5840

Answers (2)

André Ricardo
André Ricardo

Reputation: 3172

This might work:

  1. tell cxf to resolve name collision with : -autoNameResolution command line argument
  2. tell jaxb to not remove underscores with : jaxb:globalBindings underscoreBinding="asCharInWord"

Upvotes: 1

Daniel Kulp
Daniel Kulp

Reputation: 14607

In addition to the above, make sure you are using the latest version of CXF's wsdl2java tool. The latest versions have done a better job of trying to get the line/col numbers of where JAXB is finding these types of errors. That at least can give a basic indication of where to look, but they still aren't easy to track down.

Upvotes: 0

Related Questions