My Dumb WCF Lesson for the day

I was moving some code around and had a nice WCF Service Interface and Service Class created. So I copied them into a new project where I was re-creating my work.

When I tried to debug (self-host) the service, just to test it out with the embedded WCF Test Client.

But I kept getting this error:

"The client was unable to retrieve service metadata. Make sure the service is running and exposing metadata."

This made no sense. My config file was fine. I even created a new WCF service in the solution, confirmed that it worked properly, then compared the config files line by line.

No problems.

After going around in circles for a while (including getting zero google results for that error message), a thought occurred to me. I copied and pasted the entire contents of the Interface and the service class. I hadn't changed the namespace!

That was the problem. I fixed the namespace and the service ran in the Test Client just fine.

#1 Christian Weyer on 1.18.2008 at 5:33 PM

The actual lesson (for these kinds of scenarios) is:put your contracts in their own DLL and share it.

#2 Julia Lerman on 1.18.2008 at 6:00 PM

Aha, but it was it's own DLL! I was extracting code from another DLL and putting it into a new lighter wieght one. But good to know from you that this is the right way. :-)

#3 Donn Felker on 10.10.2008 at 11:04 PM

Thanks for the post. This pointed me in the right direction. Here was my result: blog.donnfelker.com/.../Sleep-Deprived-

Leave a Comment