كيف يمكنني تضييق نطاق الفشل في هذا ASP.NET ASMX لتبادل إعداد API المدارة 2010؟

StackOverflow https://stackoverflow.com/questions/3111453

سؤال

نظرًا لأن العمل مع Exchange Web Services 2010 أمر مثير للسخرية بعض الشيء ، خاصةً من أي شيء آخر غير .NET ، فقد تم تكليفه بتفكيك بعض الوظائف في خدمة ويب الصاب بيئة.

متفرقات <-(الصابون)-> خدمة الويب ASP.NET ASMX <-(EWS Managed API)-> Exchange2010

من أجل عدم مطالبة المستخدم بإدخال كلمة المرور الخاصة بهم لكل إجراء ، نستخدم حسابات الانتحال الشخصية بحيث يكون كل ما نحتاجه هو اسم الحساب للحساب الذي نريد تعديله.

كل هذا يعمل بشكل جيد. مع أحد حسابات الانتحال. حسابات الانتحال شخصية لها علاقة 1: 1 مع مفاتيح API لأغراض البساطة. يبدو أن حسابات الانتحال الأخرى التي نقوم بإعدادها هي نسخ دقيقة من حساب العمل ، باستثناء الاسم وكلمة المرور المختلفة ، ولكن عندما نحاول استخدامها من واجهة برمجة تطبيقات EWS المدارة ، نحصل على هذا الخطأ:

الطلب فشل. أعاد الخادم البعيد خطأ: (401) غير مصرح به.

تتبع المكدس:

at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.InternalExecute()
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder(FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder[TFolder](FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.Folder.Bind(ExchangeService service, FolderId id, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.Folder.Bind(ExchangeService service, WellKnownFolderName name)
at WhartonEWS.GetEmailUnreadCount(String apiKey, String emlUserAddress) in c:\workspace\dotnet\EWS\v1\App_Code\EWS.cs:line 357

كما قلت ، يعمل هذا الرمز نفسه بشكل جيد عند استخدام مفتاح API يتوافق مع حساب انتحال شخص آخر ؛ وإذا قمت بتعيين مفتاح واجهة برمجة تطبيقات غير العمل لاستخدام حساب انتحال شخصية العمل ، فإن مفتاح API يبدأ العمل.

نظرًا لأن أحد الحسابات يعمل وآخر لا ، أود أن أعني أن المشكلة ليست في رمز خدمة الويب الخاص بي ، بل في إعداد حساب الانتحال أو نوع من التكوين الموجود بين خوادم الويب والتبادل. ولكن إذا كان التكوين بين الخوادم ، أعتقد أنه من شأنه أن يمنع جميع الحسابات من العمل.

في الوقت نفسه ، لدينا ما أعتقد أنه بعض جداً لقد نظر مدراء التبادل المختصين ، واثنين منهم على الأقل في حسابات الانتحار وتوصل إلى استنتاج مفاده أنهم ليسوا المشكلة.

إلى أين نستطيع أن نذهب من هنا؟ أفترض أن أحد الحلول الممكنة هو توجيه جميع الطلبات من خلال حساب انتحال شخصية العمل والتعامل مع الآثار المترتبة على التدقيق ، ولكن إذا كنا يستطيع تجنب ذلك ، نود ذلك. أيه أفكار؟

هل كانت مفيدة؟

المحلول 2

كما اتضح ، كانت المشكلة هي تكوين حساب الانتحال. لا أعرف كيف اكتشف مدراء التبادل ذلك.

نصائح أخرى

يحتوي خادم Exchange نفسه على بعض إعدادات تسجيل التشخيص ، واحدة خصيصًا لـ "خدمات الويب msexChange". يمكنك التحقق من مدراء التبادل الخاص بك ومعرفة ما إذا كانوا على استعداد لتشغيل ذلك وربما يمكنك الحصول على مزيد من المساعدة من هذه السجلات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top