The advent of Service Oriented Architecture (SOA) paradigm and increasing use of Web Services (WS) implies that the future will see a large number of services transferred between providers and consumers, using many applications or agents working on behalf of humans. Discovering and using the services is the easy part. Negotiating and selecting the best services from amongst the plethora of similar ones, depending on their cost and quality, is the challenging issue. However, existing WS-I standards neither cater to provision of Service Level Agreements (SLAs), nor their exchange between parties. These standards are confined merely to WS description (WSDL). Once WS are discovered and selected, SLAs are merely used to monitor service compliance. We propose a novel method that allows service-providers to dynamically generate the SLAs, and then transfer them to clients for selection amongst competitive service providers. The clients use Application to Application (A2A) communication to choose the best service provider at run time, and then bind to it to available services. Our method complies with all WS-I standards, and hence does not require any modifications to the UDDI or WSDL. Instead of using the SLA as just a contractual document for compliance monitoring of the service, we also use it as a means of service selection. We demonstrate and validate our method using a prototype developed in laboratory settings, which uses multiple ‘Weather Service Providers’ to obtain various indicators for weather forecasting.