Web service selection involves finding services from a possibly large database of similar services. The challenges involved in finding a suitable service include large time consumption, and difficulty of finding a perfect match according to the user specified search keywords. For instance, users may have privacy and security concerns, as the information involved with service selection and provisioning may be sensitive for both providers and users. In this paper, we define an approach to provide customized recommendation of composite services according to a variety of user-specified criteria, including classic quality of service as well as complex privacy and security dimensions. We conduct an extensive experimental evaluation, using datasets of actual WSDL documents and comparing our algorithms with state-of-the-art solutions. Our experimental evaluation demonstrates that our algorithms are both effective and efficient.