現象
Microsoft Exchange Server 2010 Service Pack 1 (SP1) のスキーマに基づくプロキシ コードを自動生成しようとするとします。 このような場合は、次の行はプロキシ コードで不足しています。
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")]
したがって、自動生成されたプロキシはサポートされません Exchange Impersonation.This 問題の影響、次の 3 つの操作。
-
GetUserOofSettings
-
SetUserOofSettings
-
GetUserAvailability
解決方法
この問題を解決するには、次の更新プログラムのロールアップをインストールします。
2579150 Exchange Server 2010 Service Pack 1 の更新プログラムのロールアップ 4 について
回避策
この問題を回避するのにには、スキーマで生成されたクラスを変更するのには Microsoft Exchange Web サービス (EWS) 1.1 のマネージ API を使用します。 これを行うには、プロキシ コード内で次の行を追加します。
[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]));}
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細情報
GetUserOofSettings操作の詳細については、次のマイクロソフト web サイトを参照してください。
GetUserOofSettings の操作に関する一般的な情報SetUserOofSettings操作の詳細については、次のマイクロソフト web サイトを参照してください。
SetUserOofSettings の操作に関する一般的な情報GetUserAvailability操作の詳細については、次のマイクロソフト web サイトを参照してください。
GetUserAvailability の操作に関する一般的な情報Exchange 偽装の詳細については、次のマイクロソフト web サイトを参照してください。