Objawy

Podczas próby automatycznego generowania kodu serwera proxy na podstawie schematu dodatku Service Pack 1 (SP1) dla systemu Microsoft Exchange Server 2010. W takiej sytuacji w kodzie proxy brakuje następujący wiersz:

[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")] 

W związku z tym Generowanie serwerów proxy nie obsługują wymiany Impersonation.This problem dotyczy trzech następujących operacji:

  • GetUserOofSettings

  • SetUserOofSettings

  • GetUserAvailability

Rozwiązanie

Aby rozwiązać ten problem, należy zainstalować następujący pakiet zbiorczy aktualizacji:

2579150 Opis pakietu zbiorczego aktualizacji 4 dla programu Exchange Server 2010 z dodatkiem Service Pack 1

Obejście

Aby obejść ten problem, umożliwia zmianę wygenerowanych klas w schemacie Microsoft Exchange Web Services (EWS) API zarządzane 1.1. Aby to zrobić, należy dodać następujący wiersz w kodzie proxy:

[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")] 

Poniżej przedstawiono przykład dla operacji GetUserOofSettings . Kod oryginalny:

[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]));}

Zmieniony kod:

[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]));}

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji na temat operacji GetUserOofSettings odwiedź następujące witryny firmy Microsoft:

Ogólne informacje na temat operacji GetUserOofSettingsAby uzyskać więcej informacji na temat operacji SetUserOofSettings odwiedź następujące witryny firmy Microsoft:

Ogólne informacje na temat operacji SetUserOofSettingsAby uzyskać więcej informacji na temat operacji GetUserAvailability odwiedź następujące witryny firmy Microsoft:

Ogólne informacje na temat operacji GetUserAvailabilityAby uzyskać więcej informacji o personifikacji Exchange odwiedź następujące witryny firmy Microsoft:

Ogólne informacje o personifikacji Exchange

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.