Problembeschreibung
Sie versuchen, Proxycode basierend auf dem Microsoft Exchange Server 2010 Service Pack 1 (SP1) Schema automatisch generieren. In diesem Fall ist die folgende Zeile im Proxycode fehlt:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")]
Daher unterstützt automatisch generierte Proxys nicht Exchange Impersonation.This Problem betrifft die folgenden drei Operationen:
-
GetUserOofSettings
-
SetUserOofSettings
-
GetUserAvailability
Lösung
Installieren Sie zum Beheben dieses Problems das folgende Updaterollup:
2579150 Hinweise zum Updaterollup 4 für Exchange Server 2010 Servicepack 1
Problemumgehung
Um dieses Problem zu umgehen, verwenden Sie Microsoft Exchange-Webdienste (EWS) verwalteten API 1.1 generierten Klassen im Schema ändern. Hierzu fügen Sie die folgende Zeile im Proxycode:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")]
Im folgenden ist ein Beispiel für den GetUserOofSettings -Vorgang. Ursprüngliche Code:
[System.Web.Services.Protocols.SoapHeaderAttribute("ServerVersionInfoValue", Direction = System.Web.Services.Protocols.SoapHeaderDirection.Out)][System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/exchange/services/2006/messages/GetUserOofSettings", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Bare)][return: System.Xml.Serialization.XmlElementAttribute("GetUserOofSettingsResponse", Namespace = "http://schemas.microsoft.com/exchange/services/2006/messages")]public GetUserOofSettingsResponse GetUserOofSettings([System.Xml.Serialization.XmlElementAttribute(Namespace = "http://schemas.microsoft.com/exchange/services/2006/messages")] GetUserOofSettingsRequest GetUserOofSettingsRequest){ object[] results = this.Invoke("GetUserOofSettings", new object[] { GetUserOofSettingsRequest}); return ((GetUserOofSettingsResponse)(results[0]));}
Geänderter Code:
[System.Web.Services.Protocols.SoapHeaderAttribute("ServerVersionInfoValue", Direction = System.Web.Services.Protocols.SoapHeaderDirection.Out)][System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")][System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/exchange/services/2006/messages/GetUserOofSettings", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Bare)][return: System.Xml.Serialization.XmlElementAttribute("GetUserOofSettingsResponse", Namespace = "http://schemas.microsoft.com/exchange/services/2006/messages")]public GetUserOofSettingsResponse GetUserOofSettings([System.Xml.Serialization.XmlElementAttribute(Namespace = "http://schemas.microsoft.com/exchange/services/2006/messages")] GetUserOofSettingsRequest GetUserOofSettingsRequest){ object[] results = this.Invoke("GetUserOofSettings", new object[] { GetUserOofSettingsRequest}); return ((GetUserOofSettingsResponse)(results[0]));}
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Weitere Informationen
Weitere Informationen über den GetUserOofSettings -Vorgang finden Sie auf folgender Microsoft-Website:
Allgemeine Informationen über den GetUserOofSettings-VorgangWeitere Informationen über den SetUserOofSettings -Vorgang finden Sie auf folgender Microsoft-Website:
Allgemeine Informationen über den SetUserOofSettings-VorgangWeitere Informationen über den GetUserAvailability -Vorgang finden Sie auf folgender Microsoft-Website:
Allgemeine Informationen über den GetUserAvailability-VorgangWeitere Informationen zu Exchange-Identitätswechsel finden Sie auf folgender Microsoft-Website: