We recently switched from developing in Vista to Windows Server 2003. Someone had the bright idea that we should develop in the same environment the application is going to be hosted on. Go figure.
What that meant is that you run into wierd issues like this one. When trying to add a Service Reference to a WCF service hosted under IIS you keep getting this 'Add Service Reference Error':
Metadata contains a reference that cannot be resolved: 'http://merill/Services.Host/ClientProfile.svc?wsdl'.
The WSDL document contains links that could not be resolved.
There was an error downloading 'http://merill/Services.Host/ClientProfile.svc?xsd=xsd0'.
The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'http://localhost/Services.Host/ClientProfile.svc'.
Metadata contains a reference that cannot be resolved: 'http://localhost/Services.Host/ClientProfile.svc'.
If the service is defined in the current solution, try building the solution and adding the service reference again.
The key part of this message is the reference to the downloading of the xsd. When I tried accessing the .svc url in a browser it worked fine, but trying to access the .svc?xsd=xsd0 brings up the generic 'cannot display webpage' message.
When you unleash your weapon (Process Monitor) on the csc.exe process (this is the compiler generating the xsd) you'll realise that the IIS identity IIS_WPG does not have access to the Windows\Temp folder. Give enough rights to the folder and viola problemo solved.
Happy WCF programming on Windows Server!

thx a lot ! it helps
Hey many thanks for this post, i’ve been hours trying to solve this problem, thanks again
That was the most helpful article I have found on this issue. No way I would have thought of looking for directory permissions. Thanks.
Thanks a lot for the post. I had a similiar issue. Your solution resolved the issue.
Thankyou! This solved my problem.
Thank you very much! I wouldn’t have come to this solution on my own!
[...] WCF service in IIS needs write access to windows temp directory By skuppa I migrated my WCF services to Prod windows 2003 box and started getting the following error. Error: Cannot import wsdl:portTypeDetail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporterError: Schema with target namespace 'http://www.odh.ohio.gov/ELR2/contract' could not be found After initially being perplexed at what could have gone wrong and frantically searching for resolution on google found this blog post. [...]
Thank you! You save my time!
Hi there- i got exactly the same problem but the solution provided here didnt help me… in my error it also says …..401: Access Denied….The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate,NTLM'….
PLEASE HELP – IT CONSUMED MORE THAN A FEW WORK DAYS TO ME!!
Thank you all in advance
Thanks, mate! Worked like a charm!
I totally agree the standpoint of upstairs, and I believe this will be a trend. I often come this forum , rom here I learn much and know the newest tide! the content here constantly update shoe and I love it! Another I know some websites which often update their contents, you guys should browse if you are free. http://inin-from.com
It seems that the Windows server was created to make our lives a living hell! I'm just kidding. Yes, this type of server has made many programmer's lives unhappy but that happens with any type of equipment. I use Windows for my VPS hosting although a year ago I was using Linux. Can't really see a difference.
Worked for me, thanks!
i am also getting the same problem. I given full permissions on windowsTemp folders for IISUSers. still same error. please help me out !!
Fantastic – I would never have occurred to me that permissions on the temp folder could be the source of the problem. (Looks like I should invest some time in learning Process Monitor.) This saved a lot of hair-pulling; thank you!
Many many… Thanx
thanks for the nice information
it’s working fine.. thanks buddy.. it’s really nice implementation
Thank you, thank you! This error was driving me crazy!!!!
YOu have no idea how long i’ve been fighting with this… Thank you.
Thank you. Thank you. Thank you. Finally my search stopped.
THX!!!
THX! You save my head …
Holy crap, thank you so much. I was pulling my hair out over the past 4 hours trying to get our WCF service running correctly on a production machine with HTTPS. Gave the IIS_USERS rights to Windows/Temp and poof, XSD files were available. THANK YOU!!!!!!
thanks a lot it worked. I gave IIS_IUSRS read write permissions to Windows/Temp folder and worked
[...] WCF Add Service Reference gotcha with Windows Server VK.init({apiId: 2040619, onlyWidgets: true}); VK.Widgets.Like('vk_like_847', {type: [...]
Thanks a lot!!!
muchas gracias…. simple y preciso. thanks
i don’t understand enough to do what you explain .i see that it will resolved my problem but i don’t know how to do it can you help me ?
i find the file in c/windows but i have to do there ?
thank’s for all