อาการ
คุณพยายามที่จะสร้างรหัสพร็อกซีที่ยึดตาม Microsoft Exchange Server 2010 Service Pack 1 (SP1) เค้าร่างโดยอัตโนมัติ ในสถานการณ์นี้ บรรทัดต่อไปนี้หายไปในรหัสพร็อกซี:
[System.Web.Services.Protocols.SoapHeaderAttribute("ExchangeImpersonation")]
ดังนั้น พร็อกซีที่สร้างขึ้นโดยอัตโนมัติไม่สนับสนุนผลกับการตัดสินค้าจากคลัง Impersonation.This แลกเปลี่ยนการดำเนินการสามแบบต่อไปนี้:
-
GetUserOofSettings
-
SetUserOofSettings
-
GetUserAvailability
การแก้ไข
เมื่อต้องการแก้ไขปัญหานี้ ติดตั้ง update rollup ดังต่อไปนี้:
2579150 คำอธิบายของการปรับปรุงสะสม 4 สำหรับ Exchange Server 2010 Service Pack ที่ 1
การแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ ใช้ Microsoft Exchange เว็บบริการ (EWS) ที่มีการจัดการ 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 ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับการดำเนินการ GetUserOofSettingsสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการSetUserOofSettingsแวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับการดำเนินการ SetUserOofSettingsสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการGetUserAvailabilityแวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับการดำเนินการ GetUserAvailabilityสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเลียนแบบแลกเปลี่ยน แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้: