Симптоми

Опит за автоматично генериране на прокси код, базиран на схемата на Microsoft Exchange Server 2010 Service Pack 1 (SP1). В тази ситуация следния ред липсва в кода на прокси сървъра:

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

Следователно автоматично генерирани прокси сървъри не поддържат Exchange Impersonation.This проблем засяга следните три операции:

  • GetUserOofSettings

  • SetUserOofSettings

  • GetUserAvailability

Решение

За да разрешите този проблем, инсталирайте следния Сборен пакет за актуализация:

Описание на сборния пакет за актуализация 4 за Exchange Server 2010 Service Pack 1

Заобиколно решение

За да заобиколите този проблем, използвайте Microsoft Exchange Web Services (EWS) Managed API 1.1 да промените генерирани класове в схемата. За да направите това, добавете следния ред в кода на прокси сървъра:

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

По-долу е даден пример за GetUserOofSettings операция. Оригиналният код:

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

Промените в кода:

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

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Повече информация

За повече информация относно GetUserOofSettings операция посетете следния уеб сайт на Microsoft:

За повече информация относно SetUserOofSettings операция посетете следния уеб сайт на Microsoft:

За повече информация относно GetUserAvailability операция посетете следния уеб сайт на Microsoft:

За повече информация за въплъщаване на Exchange посетете следния уеб сайт на Microsoft:

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на превода?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×