Apache CXF is an open-source services framework.
It offers both contract-last (starting with Java) and contract-first (beginning with the WSDL) approaches.
Apache CXF supports several standards, including SOAP, WSI Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, and WS-SecureConversation.
Apache CXF implements JAX-WS and JAX-RS.
Spring Web Service (Spring-WS) is focused on creating document-driven Web services.
It is a product of the Spring community whose purpose is to make contract-first SOAP service development convenient and easy; thus, allowing for the creation of manageable web services using one of the many ways to manipulate XML payloads.
Spring WS supports SOAP, WS-Security, and WS-Addressing standards – fewer than Apache CXF.
If you want to work on a framework that has better Java-compliant frameworks support and better standards support, you might want to opt for Spring WS.
However, if you want to work on a service that does not follow the Contract-first Web Services Development Model, then Apache CXF is probably a better option.