Question

WCF - Contract Name could not be found in the list of contracts

I am relatively new to WCF. However, I need to create a service that exposes data to both Silverlight and AJAX client applications. In an attempt to accomplish this, I have created the following service to serve as a proof of concept:

[ServiceContract(Namespace="urn:MyCompany.MyProject.Services")]
public interface IJsonService
{
    [OperationContract]
    [WebInvoke(Method = "GET",
               RequestFormat=WebMessageFormat.Json,
               ResponseFormat = WebMessageFormat.Json)]
    List<String> JsonFindNames();
}

[ServiceContract(Namespace="urn:MyCompany.MyProject.Services")]
public interface IWsService
{
    [OperationContract(Name="FindNames")]
    List<String> WsFindNames();
}


[ServiceBehavior(Name="myService", Namespace="urn:MyCompany.MyProject.Services")]
public class myService : IJsonService, IWsService
{
    public List<String> JsonFindNames() 
        { return FindNames(); }
    public List<String> WsFindNames()
        { return FindNames(name); }
    public List<string> FindNames()
    { 
       List<string> names = List<string>(); 
       names.Add("Alan");
       names.Add("Bill");
       return results; 
    }        
}

When I try to access this service, I receive the following error:

The contract name 'myService' could not be found in the list of contracts implemented by the service 'myService'.

What is the cause of this? How do I fix this?

Thank you

 45  63466  45
1 Jan 1970

Solution

 66

Your contract is the Interface not the implementation.

Somewhere in the config you have written myService instead of IJsonService.

2010-01-17

Solution

 11

Remove the namespace from Service name. It will work fine.

2015-02-19