Simptome
Încercați să auto-genera cod proxy bazat pe schema de Microsoft Exchange Server 2010 Service Pack 1 (SP1). În această situație, linia următoare lipsesc în cod proxy:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")]
De aceea, auto-generate de proxy nu se acceptă Exchange Impersonation.This problemă afectează următoarele trei operațiuni:
-
GetUserOofSettings
-
SetUserOofSettings
-
GetUserAvailability
Rezolvare
Pentru a rezolva această problemă, instalați următorul set de actualizări:
2579150 Descrierea setului de actualizări 4 pentru Exchange Server 2010 Service Pack 1
Soluție de evitare
Pentru a rezolva această problemă, utilizați Microsoft Exchange Web Services (EWS) Managed API 1.1 pentru a modifica clase generat în schema. Pentru aceasta, adăugați următoarea linie în codul proxy:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")]
Mai jos este un exemplu pentru operațiunea GetUserOofSettings . Codul original:
[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]));}
Cod modificate:
[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]));}
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Mai multe informații
Pentru mai multe informații despre funcționarea GetUserOofSettings , vizitați următorul site Web Microsoft:
Informații generale despre operațiunea GetUserOofSettingsPentru mai multe informații despre funcționarea SetUserOofSettings , vizitați următorul site Web Microsoft:
Informații generale despre operațiunea SetUserOofSettingsPentru mai multe informații despre funcționarea GetUserAvailability , vizitați următorul site Web Microsoft:
Informații generale despre operațiunea GetUserAvailabilityPentru mai multe informații despre Exchange de asumare, vizitați următorul site Web Microsoft: