'GetUserOofSettings', 'SetUserOofSettings' en 'GetUserAvailability'-bewerkingen bieden geen ondersteuning voor Exchange imitatie van het schema voor Exchange Server 2010 SP1


Symptomen


U probeert een auto-proxy om code te genereren op basis van het schema van Microsoft Exchange Server 2010 Service Pack 1 (SP1). In dit geval wordt ontbreekt de volgende regel in de proxy-code:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")] 
Daarom bieden de automatisch gegenereerde-proxy's geen ondersteuning voor Exchange Impersonation.This probleem is van invloed op de volgende drie bewerkingen:
  • GetUserOofSettings
  • SetUserOofSettings
  • GetUserAvailability

Oplossing


Dit probleem oplossen door de volgende updatepakket te installeren:
2579150 Beschrijving van Update Rollup 4 voor Exchange Server 2010 servicepack 1

Tijdelijke oplossing


U kunt dit probleem omzeilen, gebruiken Microsoft Exchange Web Services (EWS) beheerde API 1.1 de gegenereerde klassen in het schema te wijzigen. Voeg hiervoor de volgende regel in de code van de proxy:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")] 
Hieronder is een voorbeeld voor de bewerking GetUserOofSettings . Oorspronkelijke 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]));}
Gewijzigde 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 heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie


Ga naar de volgende Microsoft-website voor meer informatie over de werking van de GetUserOofSettings :Ga naar de volgende Microsoft-website voor meer informatie over de werking van de SetUserOofSettings :Ga naar de volgende Microsoft-website voor meer informatie over de werking van de GetUserAvailability :Ga naar de volgende Microsoft-website voor meer informatie over Exchange imitatie: