Scott, That's a tall order. There's lots to say about this space, and it won't be contained in one web page. Can't help you with the Xanax, but I can give you the brief tour of WS in Java. Here goes...
1. At the high level, your first decision is SOAP vs. REST. REST implies POX (plain old XML)--though it's not necessarily the case, that's the way the majority of RESTful services are developed. SOAP is just a message format, but all of the WS-* standards (and there's a lot of them) and WSDL (at least until v.2.0) revolve entirely around using SOAP; hence the perceived complexity because there's more to learn. REST has less structure, so it can be simpler when developing simple web services; however, if you have other requirements, such as security or policy, going with REST could be more difficult and error-prone than SOAP. It's over-simplifying a bit, but the distinction can be summed up as "go with the standards" in SOAP or "roll your own" with REST. Taking a look at some of the more popular web services from Google, Amazon, etc. may give you a better feeling for this. 2. Your second decision is going to be which Web Services stack to use. In Java, the major ones are Apache Axis 2.0, Apache CXF, Spring Web Services, and the JAX-WS reference implementation (on java.net). You'll have to match their features against your requirements to see which one fits you best. There's a fair amount of overlap in features (and even in the 3rd party libs they use), but there are significant differences as well. I'd recommend not using Axis 1.0 at this stage, since it is about 4-5 times slower than the newer stacks under load. 3. JAXB is simply a framework for XML-Java binding, one among many: JiBX, XML Beans, Castor, ADB, etc. Which one you use may be decided by which one(s) the stack in #2 you choose supports (you'll choose JAXB, for example, if you use Sun's JAX-WS reference implementation), but all except JAX-WS RI support more than one binding framework. 4. XML Schema is the standard way of defining XML types in SOAP/WSDL, but there are others. In WSDL 1.2 and 2.0, for example, you can(http://www.w3.org/TR/wsdl20-altschemalangs/) use Relax NG, but--practically speaking--XML Schema rules the roost here. 5. Most WS frameworks (from #2) support two basic styles of development: top-down (write WSDL, generate Java--WSDL2Java, for instance) and bottom-up (generate WSDL and other artifacts from your Java code). I prefer the first, but bottom up may be simpler if you are just starting out, esp. if you already have code that you are adding a web service to. JSR-181 (JAX-WS) is particularly nice for this approach, since you just add annotations to your existing code. 6. If you must buy a book, don't buy anything that's been published more than a year ago. The landscape has changed a lot in the last year or two. One of my favorites, "J2EE Web Services" by Richard Monson-Haefel, is already out-of-date. Well, that's it for the nickel tour. The brush strokes are pretty broad here, but I hope I've given you a better idea. Brennan ----- Original Message ----- From: [EMAIL PROTECTED] To: axis-user@ws.apache.org Sent: Monday, April 28, 2008 4:37 PM Subject: The WS Crazy Train! Can someone either provide me a URL for xanax or a site that explains the interplay between SOAP/JAXB/WSDL/Schema/blah, blah, yada. yada? I am trying to figure out what is actually necessary to produce & consume web services in Java and I am hearing that many of these technologies are optional! In fact, today it was decided that WSDL2Java produced too many artifacts and that writing web services could be much simpler. How do RESTful web services play into this mix, and what are the pros/cons to the permutations of ws stacks? I would gladly throw down my AMEX if someone can recommend a good book/resource that might clear this confusion. Peace, -- Scott [EMAIL PROTECTED]