This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I used wsimport to create JAXB Java objects from WSDL. And information I get was
[ERROR] A class/interface with the same name "my.package.ObjectFactory" is already in use. Use a class customization to resolve this conflict.
I started to study external JAXB customization and I wasn't able to find any suitable example hot to do it.
My scenario is like that I have main wsdl file (which I pass to wsimport) and inside that wsdl file is tag <wsdl:import location="path.to.another.wsdl" namespace="secondWsdlNamespace" /> . In that anotherWsdl there is one complexType:
<xs:complexType name="objectFactory"><xs:sequence/></xs:complexType> and that objectFactory is actually problematic. wsimport creates ObjectFactory.java in which it handles all object instantations. What I want to do is to create external customization for JAXB for that "inner" wsdl.
For now I was able to produce next mapping file:
And I'm getting error:
[ERROR] XPath evaluation of "//xs:complexType[@name='objectFactory']" results in empty target node
As I said in "url.to.main.wsdl" there is import of another wsdl like:
At my JAXB mapping file do I have to point at main wsdl or inportedwsdl at wsdlLocation attribute?
Of course I have already tried this url.to.imported.wsdl and same error occurs. Any ideas? Examples?