That problem is generally caused because you not setting the X-AnchorMailbox header to the mailbox you are impersonating, if your using WSDL proxy code you need to do something like the following to override the GetWebRequest method of the ExchangeServerBinding Class eg
class CustomExchangeServiceBinding: ExchangeServiceBinding
{
public String AnchorMailbox { get; set; }
protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request)
{
if (!String.IsNullOrEmpty(AnchorMailbox))
{
request.Headers.Add("X-AnchorMailbox", AnchorMailbox);
}
System.Net.HttpWebResponse
response = (System.Net.HttpWebResponse)base.GetWebResponse(request);
return response;
}
}
Then use your custom class instead of ExchangeServiceBinding
CustomExchangeServiceBinding esb = new CustomExchangeServiceBinding();
You can also modify the referances.cs file directly but if you ever refresh you proxies the changes would be lost