I don't know what is with your compilation issues. I don't believe I've ever done a web service, as they didn't seem appropriate to my circumstances.
If I understand it correctly:
XML -> in order to have a standardized means of communication
Web Services -> to provide access to data / processing resources to other systems remotely via a commonly used protocol over a wide network.
The nice thing is that a consumer just provides the input in XML, and gets the output in XML. You can recode the service to run faster or port to a different platform. You can use the service from a wide variety of platforms. The details of the systems making and servicing the requests don't matter, as long as they follow the rules of the interface.
Whether it is useful or not depends on whether the service performed is of utility to more than one system, whether the latency involved is worth it, and whether remote access is important. If functionality is of use to only one system on one machine in the same location, it makes more sense to build it into the system rather than make it a web service.