Web services can be semantically annotated using SAWSDL, to add semantics to web service concepts and enhances the discovery of web services. Generally the web services are discovered using function matching and I/O parameters matching. Since the web services available in Internet are vast in numbers, just the discovery of web services is not enough to ensure the QoS preferences of the clients requesting for web services. Different users need various levels of QoS in web services. The authors propose a system that receives preferences for various QoS parameters from service clients while searching for web services and ranks them thereby satisfies the non-functional requirements of the clients.