My first post here put I have been lurking for a few months, reading the many useful and interesting posts about this exam. My prep over about 3-4 months:
1. Java Web Services Up and Running. Cover to cover.
2. MZ's notes and Ivan's notes. Just brilliant. So much detail.
3. Lots of additional reading, trying out lots of code examples from the web.
4. Last two weeks, the Enthuware test suite. Very impressed with it as it was very useful for identifying my weakest areas which I spent a lot of time on fixing in my final prep. I eventually averaged around 80% on the Enthuware tests in the week before the exam which was close to my real score.
This is not a completely code-centric exam. It would be hard to pass just knowing the APIs although you will pick up quite a few marks by knowing them, for example one question required knowing an exact method name on one of the SAAJ classes. When you do try out code sample try and build them yourself rather than copy and paste. Just as important as knowing the APIs is an understanding of how the APIs work together with protocols, standards, specifications and how you would use them in real life to deliver solutions. Areas you must be sure to spend some time on as well as all the work around building services and clients:
WS-I Basic Profile
WSIT
SAAJ
Security (lots of security questions on the exam: wire-level security, message-based, basic, container-managed etc...)
Development best practices
SOA concepts
REST concepts
WS-Addressing
MTOM (and swaref)
Knowledge of these could make the difference on exam day