Search code examples
javaweb-servicesjax-wsjax-rpcapache-axis

JAX-RPC / JAX-WS runtime in Apache Tomcat


I am using Apache Tomcat v6 server. While creating a new Web Service, I get the Web service runtime options for "Apache Axis", "Apache Axis2" and "Apache CXF2.x".

Is it possible to have the runtime as "JAX-RPC" or "Jax-WS"?

I am using Eclipse IDE.


Solution

  • JAX-RPC and JAX-WS are specifications, Axis, Axis2 and CXF are implementations.

    • for JAX-RPC you need Axis (1)
    • for JAX-WS use CXF (I believe Axis2 also supports this spec but I've never used it)

    If you have a choice I strongly recommend the latter (JAX-WS) as it's the more modern spec and more importantly the toolkits are being actively developed and updated - Axis 1 has been dormant for years and relies on old versions of a number of other libraries.

    You're also likely to get better performance with a more modern toolkit like CXF or Axis2, which has been designed from the beginning to use streaming XML APIs wherever possible, rather than building a tree model in memory.