Even I also got this exception; I have checked the sitemap file that I am using exists in “80/app_bin” folder or not? Yes it is available then why I am getting this error? I don’t have any idea on it so I thought it’s better to search in Google. I understood why it is happing by referring the below post.
Let me briefly explain what the post says, the users should have permissions to access if you place the sitemap files in web applications “app_bin” folder. By default, SharePoint administrators have permissions to access it. I then added read permissions to domain users group on file Web.sitemap to access domain users also. Then - problem disappeared! :=)
Now, I got one more question? If you want to use the same sitemap file in multiple web applications, then what will we do? Is this better approach to give permissions to the sitemap file explicitly for each deployment?
I found another better solution; it’s better to place somewhere else. So, I have placed my sitemap file in “12 hive/ layouts” folder and I have given this reference in web.config file. That’s enough…everything working as expected [Note: Here I didn’t give any permission’s explicitly for each web application]. It is very easy to deployment also right? Even we can deploy it too easily where ever you want through the solution packages(.wsp).
Next post i will share how to develop custom Global Navigation with impersonation.
Hope you got it right. Please share your feelings by commenting on it if it's really helped you.