On 2007-09-05 at 11:30, [EMAIL PROTECTED] wrote:

> I'm unsure, but if I understand you correctly, you have control over
> both the server and the client, but you seem to want to run wsdl2java
> twice--once for the server, once for the client.

Sorry for being unclear. I didn't mean that I wanted to do that, I was
more kind of trying to figure out if that was the proper way to do it.

> I believe though you can have wsdl2java generate both server and
> client code at once--they have a very high overlap, if I'm not
> mistaken.  If so, you can move the compile the wsdl2java results into
> a separate JAR file, and have both your client and server code
> reference it via a dependency.  That would seem to be more robust and
> faster than running wsdl2java twice.

Thanks, maybe I'll explore that option. For now I've actually set up my
multi module project like I mentioned in the original email - I generate
a wsdl in the service provider, and manually copy over that file to the
directory src/main/wsdl in the consumer module. Then I let wsdl2code
generate stubs in the consumer module. That way I'm certain that no
classes unrelated to the public service sneaks into the consumer
interface. Also, when (not if) I change the provider interface somewhere
down the line, I'm guaranteed that the consumer will whine loudly when
trying to use the old api (if it's non-compatible).

Apart from the overhead of configuring the maven incubator plugin
repository, and my messy approach of trial and error before I finally
figured out which (20+!) dependencies I needed include in the client
assembly, it worked out pretty well in the end.

Looking forward to the day CXF gets out of incubation. 8)

cheers
--
Fredrik Jonson

Reply via email to