I have been doing lots of work exploring different techniques to eat (.Internet) web services in Java clients. It appears this area is really a black hole in Java. The simplest method in which I've discovered is by using Apache Axis2 wsdl2java to create the origin files. But nonetheless, this involves some try to integrate Apache into my existing web programs.

I am surprised that there's no simpler way. Can you explain that?

Because there's. The needed functionality for Cleaning soap customers are incorporated within the standard API library. You should use the wsimport tool (situated within the bin directory of the JDK installation) to create client classes from the specified WSDL.

I have not used metro, however it seems like it combines with JAXB2. well and can be worth considering. I observed a metro vs axis2 comparison which can be interesting if you're acquainted with axis2 already.

for convenient and dirty stuff the apache commons httpclient + jaxb is effective.