...
Yes. Keep in mind though that Java 2 SE 5.0 with JDK 1.5 has reached end of life (EOL).
Can CXF run
...
No. Many of the technologies that CXF is based on require JDK 1.5. JAX-WS, JAXB, etc. all require JDK 1.5 features such as generics and annotations. Note that J2SE 1.4 with JDK 1.4 has reached end of life (EOL).
Can CXF run without the Sun reference SAAJ implementation?
...
For most "simple" use cases, you can use CXF proxies on multiple threads. The above outlines the workarounds for the others.
The generated wsdl (GET request on the ?wsdl address) doesn't contain the messages, types, portType, etc... What did I do wrong?
Usually this means the wsdl at that address contains the service and binding, but uses a <wsdl:import> element to import another wsdl (usually at ?wsdl=MyService1.wsdl type address) that defines the types, messages, and portType. The cause of this is different targetNamespaces for the Service Interface (mapped to the port type) and the service implementation (mapped to the Service/Binding). By default, the targetNamespace is derived from the package of each of those, so if they are in different packages, you will see this issue. Also, if you define a targetNamespace attribute on the @WebService annotation on one of them, but not the other, you will likely see this as well. The easiest fix is to update the @WebService annotation on BOTH to have the exact same targetNamespace defined.
Spring Related
When using Spring AOP to enable things like transactions and security, the generated WSDL is very messed up with wrong namespaces, part names, etc...
...