Service-oriented architecture facilitates the running time of interactions by using business integration on the networks. Currently, web services are considered as the best option to provide Internet services. Due to an increasing number of Web users and the complexity of users’ queries, simple and atomic services are not able to meet the needs of users; and to provide complex services, it requires service composition. Web service composition as an effective approach to the integration of business institutions’ plans has taken significant acceleration. Nowadays, web services are created and updated in a moment. Therefore, in the real world, there are many services which may not have composability according to the conditions and constraints of the user's preferred choice. In the proposed method for automatic service composition, the main requirements of users including available inputs, expected outputs, quality of service, and the priority are initially and explicitly specified by the user and service composition is done with this information. In the proposed approach, due to a large number of services with the same functionality, at first, the candidate services are reduced by the quality of service-based Skyline method, and moreover, by using an algorithm based on graph search, all possible solutions will be produced. Finally, the user’s semantic constraints are applied on service composition, and the best composition is offered according to user’s requests. The result of this study shows that the proposed method is more scalable and efficient, and it offers a better solution by considering the user’s semantic constraints.