With XML-based standards for interface description and message exchange, Web services have become a widely accepted solution to the interoperatability problem between heterogenous and incompatible systems over the Internet. As Web Services become more and more popular, there may be more than one service providers that provide a similar service, and the user may want to find the best fit for him. Many researches use criteria such as QoS or desired contents to determine the Web Services that the requester actually needs. Most of these researches assume that all operations doing the same thing will use the same operation name and the same input and output parameters in the same order. This is not true in practice. The goal of Web service adaptation is to adapt the inputs and outputs of one operation to the inputs and outputs of another operation automatically at runtime. In this thesis, we provide an approach to Web service adaptation with the help of ontology definition languages such as OWL and OWL-S. We assume there exists a shared ontology between Web services in the same industry, and the input and output parameters have their types come from this shared ontology. With OWL-S and some extension added to annotate the Web services, we can adapt one operation to another automatically. Our research group have implemented a prototype system to help customer make a trip plan, where our Web service adaptation acts as one part of this system.