(ii) SAAJ can be implemented with SAOP apis. But SOAP apis are implemented by JAX-RPC implementors.
The SAAJ API is independent from JAX-RPC. JAX-RPC implementations always include SAAJ because SAAJ is used to access the SOAP message in JAX-RPC handlers.
Examples: Java SE 6 includes SAAJ (and JAX-WS) but not JAX-RPC. The saaj.jar in the Axis 1.x distribution can be used independently from jaxrpc.jar. You can use the Metro SAAJ implementation with (JRE 1.4 + JAXP 1.3) or JRE 1.5 without either JAX-RPC or JAX-WS being supported.