The key answer to your question is tooling, I believe.
There are tools that can generate proxy classes etc from WSDL and WADL (?) documents.
This saves considerable time and greatly reduce the risk for buggy code.
Personally, I would never consider writing that kind of code by hand, except for perhaps as a learning exercise.