| Subject: VS2008 and WCF |
| Group: microsoft.public.windows.developer.winfx.indigo |
| Date: 4/3/2008 12:25:00 PM |
| From: =?Utf-8?B?SklHTkVTSA==?= [Email Address Protection] |
I have a trouble with WCF in the following code. Have created a [ServiceContract] and stuff. Now i am trying to host by writing code... Host only starts running in administrator mode. but when client(Vs2008 Add Service Reference) makes a reference it give error and I have no clue of the source of error. Problem is we had tried such small stuff in betas and now it not working smothly in VS2008 ERROR when adding a ServiceReference form Client when service is up and running There was an error downloading 'http://localhost:8000/HelloService/MyService'. The request failed with the error message: -- <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode><faultstring xml:lang="en-US">The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</faultstring></s:Fault></s:Body></s:Envelope> --. Metadata contains a reference that cannot be resolved: 'http://localhost:8000/HelloService/MyService'. Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:8000/HelloService/MyService. The client and service bindings may be mismatched. The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.. If the service is defined in the current solution, try building the solution and adding the service reference again. CODE [ServiceContract] public interface IDataService { [OperationContract] DataSet GetEmployeeRecords(); [OperationContract] int FindNoOfRecords(); } public class Employee : IDataService { #region IDataService Members public DataSet GetEmployeeRecords() { DataSet ds = new DataSet(); ds.ReadXml(@"D:\NewTry\WCFs\WCFServiceLibraryX\WCFServiceLibraryX\EmployeeXMLFile.xml"); return (ds); } #endregion public int FindNoOfRecords() { DataSet ds = GetEmployeeRecords(); return (ds.Tables[0].Rows.Count); } } static void Main(string[] args) { Uri baseAddress = new Uri("http://localhost:8000/HelloService"); using (ServiceHost serviceHost = new ServiceHost(typeof(Employee), baseAddress)) { serviceHost.AddServiceEndpoint(typeof(IDataService), new BasicHttpBinding(), "MyService"); serviceHost.Open(); Console.WriteLine("Press <enter> to terminate service"); Console.ReadLine(); serviceHost.Close(); } |
| Back |