What are the relative strengths and weaknesses between Sun Metro and Apache CXF for webservice development in Java. Is there another framework that I should be looking at as well?
Both Metro and CXF are JAX-WS compliant web service stacks, and from a runtime perspective, there's very little pick between them.
However, CXF has vastly better documentation, and much more flexibility and additional functionality if you're willing to go beyond the JAX-WS specification. On the basis of documentation alone, I'd pick CXF over Metroevery time.
However, I would pick Spring WebServices over either Metro or CXF. It's not JAX-WS-compliant, but I don't consider that to be an issue. It's also both considerably simpler, and considerably more flexible than either of them. Highly recommended.