If you're keeping up with your web services news, you probably know by now that interoperability, especially between Java-based and .NET-based web services, is a hot topic. If you know this, then you probably are interested in document-literal web services. Because the remote-procedure call pattern is so pervasive, most of the tutorial literature focuses on RPC/encoded web services, which are not compliant with the WS-I Basic Profile (see Resources).
Furthermore, most tutorials start with a Java implementation, then use a tool to generate the WSDL description, rather than the other way around. Increasingly, developers are being given WSDL files and requested to produce either a service or a client, or both. The tutorials on this site start with WSDL files, exclusively document/literal, and walk you through the steps necessary to get the web service deployed and a properly-operating client running.
Since a primary goal of web services is the interoperability of clients and services deployed on disparate platforms, instructions for creating web services clients have been factored out of the individual tutorials where practical, with the understanding that any client can be used to access any web service. The tutorials increase in complexity to implement the simple "PingRequest" web service, then a web service with attachments, and finally a web service with both attachments and WS-Security (WS-Security coming soon).
This site is a work in progress, so check back frequently for updates. If you find mistakes in these tutorials, are unable to successfully deploy the web services, or have suggestions for additional common problems/solutions, please contact Wayne Adams. I apologize in advance for the spam filter (I'm up to about 200 per day now!), so please respond to the filter to ensure that I see your message. Thanks, and good luck!