Java-first or WSDL-first?
In my organization we are debating the relative merits of Java-first vs. WSDL-first web service development. So far we have experimented only with the latter. The major pain points for us seem to be:
1) The generated JAXB classes are really not very useful as native application classes. Unless they are modified post-generation (which we would not do), they don't include such basic behavior as equals(...), hashCode(), clone(), or toString(), for example. You can subclass them to add behavior but then you quickly encounter multiple inheritance problems in any object model that isn't a toy.
2) Because of #1, we must provide a layer of code that converts between the generated classes and the native classes that the application actually wants to use. This is an additional hit in terms of development effort and run-time performance that we don't care for.
What are the pain points people experiencing using Java-first development in non-trivial applications? One thing I can see right off the bat is that it is going to be difficult to support more than one schema for a given set of native JAXB-enabled classes. That appears to require the addition of otherwise superfluous interfaces, and adapter classes containing the kind of conversion code we already know we don't want. Anything major besides that?
Thanks in advance for any/all responses...