As far as I know, wsdl2java generates JAX-WS annotated code, so it will be much the same as using wsimport.
Both approaches will generate artifacts that are quite static, that is, if you for instance add an operation in the WSDL exposed by the service, then this operation will not be available in clients unless you re-generate the artifacts.
If you want to make a truly generic client, then you may want to consider using the SAAJ API to dynamically assemble SOAP messages. The question still remains to how your client is made aware about new functionality offered by the service. I am not only talking about, for instance, a new operation being available in the service, but how the client learns about the semantics of the operation.
To be able to better advise you, knowing more details about what you are trying to accomplish would be beneficial.
Joined: Jul 18, 2007
I SAAJ client looks like we don't need to generate client side stubs... that's what I was looking for !!