Using XFire proprietary configuration file - This method is simple and has a good interoperability with .Net applications. Problem is that everything is hardcoded, and can not be used Spring for wiring up the components. Should be used if other method does not give you good results (which was the case with XFire prior of version 1.2.4)
Using XFire with Spring - this is 'semi-automatic' way. It still gives us power of entirely Spring configured WS, without problems that we have with fully automated JSR181 annotation approach
Using XFire with Spring and JSR181 Annotations - very powerfull way. Has advantage, that is independent of XFire. Compatible with JAX-WS java standard for WS. Integrates smootly with Spring. No manual operations, completely automatic. Beautiful