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!

Share →

29 Responses to WCF Add Service Reference gotcha with Windows Server

  1. 5he11 says:

    thx a lot ! it helps

  2. Joel R. says:

    Hey many thanks for this post, i’ve been hours trying to solve this problem, thanks again

  3. Nick says:

    That was the most helpful article I have found on this issue. No way I would have thought of looking for directory permissions. Thanks.

  4. Sivaram says:

    Thanks a lot for the post. I had a similiar issue. Your solution resolved the issue.

  5. TC says:

    Thankyou! This solved my problem.

  6. Charlie says:

    Thank you very much! I wouldn’t have come to this solution on my own!

  7. [...] 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. [...]

  8. Feng says:

    Thank you! You save my time! :-)

  9. Eking says:

    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

  10. emizzle says:

    Thanks, mate! Worked like a charm!

  11. 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

  12. SandraMillhouse says:

    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.

  13. Aviad says:

    Worked for me, thanks!

  14. Ramesh Pydi says:

    i am also getting the same problem. I given full permissions on windowsTemp folders for IISUSers. still same error. please help me out !!

  15. Aasmund says:

    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!

  16. Hrmz says:

    Many many… Thanx

  17. chandu says:

    thanks for the nice information

  18. Deepka Gaur20 says:

    it’s working fine.. thanks buddy.. it’s really nice implementation

  19. Thank you, thank you! This error was driving me crazy!!!!

  20. blakehaas says:

    YOu have no idea how long i’ve been fighting with this… Thank you.

  21. sushil Jadhav says:

    Thank you. Thank you. Thank you. Finally my search stopped. :)

  22. VipeR says:

    THX!!!

  23. Luciano says:

    THX! You save my head …

  24. Andrew says:

    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!!!!!!

  25. zviadi says:

    thanks a lot it worked. I gave IIS_IUSRS read write permissions to Windows/Temp folder and worked :)

  26. [...] WCF Add Service Reference gotcha with Windows Server VK.init({apiId: 2040619, onlyWidgets: true}); VK.Widgets.Like('vk_like_847', {type: [...]

  27. Sirakovich says:

    Thanks a lot!!!

  28. shadower says:

    muchas gracias…. simple y preciso. thanks

  29. joj says:

    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

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>