I am confused on the following:
My understanding is that Java 6 comes including the JAX-WS RI. So I can write a web-service in JAX-WS without downloading anything from jax-ws metro. Metro is a different implementation of the JAX-WS specification?
I can also write a web-service in SAAJ with all the packages included in the Java6 installation whithout dowloading anything from SAAJ. My question is mostly focused at SAAJ.
My understanding from here SAAJ RI is that there are many different implementations of the SAAJ specification. Is this correct? So if I write a web service in SAAJ using the packages included in the default java installation and test it and it works ok, if I later place another SAAJ implementation on the classpath, my code will be able to access the other SAAJ implementation and not the default shipped in by Java6? So I will be able to switch SAAJ implementations? What are some examples of SAAJ implementations?
I am confused on these so please help me.
How would I know for sure which implementation is actually being used at runtime when the web-service is deployed? Is there any difference in performance among the various implementations? And also is SAAJ provided by default in all implementations of java specification?