Be cautious! Name your WCF operation contract right
.. and attach a distinct and meaningful name. When publishing metadata for a service that exposes two different service contracts in which each contain an operation of the same name an exception is thrown. For example, if you have a service that exposes a service contract called ICarService that has an operation Get(Car c) and the same service exposes a service contract called IBookService that has an operation Get(Book b) , an exception is thrown or an error message is displayed when generating the service's metadata. To remedy this issue you may want to consider one of the following approach: Rename one of the operations. I'd suggest give them some meaningful name, any way (such as GetCar(Car car) and GetBook(Book book) ) Set the operation Name to a different name Set one of the operations' Namespaces to a different namespace using the Namespace property Reference : Metadata Architecture Overview