سؤال

لدي مشكلة في فهم كيفية ListData.svc يمكن تصحيحه باستخدام IE8 و IE9.

لدي URL التي تبدو مثل هذا:hostname:8181/_vti_bin/listdata.svc/ImageBanners?$filter=endswith(Path,'TopLeft') وتظهر eq صحيح

عندما أحاول الوصول إليه باستخدام IE8 من SharePoint مستقل الخادم كنت تتلقى خطأ 400.

عندما طلب نفس عنوان URL باستخدام فايرفوكس يعمل على ما يرام.

على أعلى من ذلك hostname:8181/_vti_bin/listdata.svc/ImageBanners يعمل كما ينبغي أن يكون حتى في IE.لذلك يبدو أن المشكلة تكون في $filter=endswith جزء.

ومع ذلك.عندما طلب نفس عنوان URL في IE8 باستخدام عنوان IP الخادم أو localhost لا تحصل على النتائج الصحيحة حتى مع مرشحات معقدة.

يمكن أي شخص ، رجاء تسليط بعض الضوء على هذا اللغز ؟ لماذا لا يمكنني الحصول على هذا النوع من السلوك ؟

معلومات إضافية:

  • SharePoint قد الروسية و الإنجليزية الإصدار المثبت.
  • تطبيق SharePoint باستخدام مصادقة NTLM.
  • مجهول المصادقة في IIS يتم تعطيل.
  • عازف الكمان يدل على أن كل مورد طلبت مرتين.أول مرة الملقم بإرجاع 401 ثم 200 أو 400 اعتمادا على المتصفح URL (انظر التفاصيل أعلاه).

    • عندما كنت الوصول إلى ListData.svc باستخدام فايرفوكس الصحيح طلب HTTP يبدو مثل هذا:

    قبول:نص/html, application/xhtml+xml ، /
    قبول اللغة:en-US
    User-Agent:Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;WOW64;ترايدنت/5.0)
    تقبل ترميز:gzip, وفرغ
    الاتصال:المحافظة على الحياة
    ملف تعريف الارتباط:WSS_KeepSessionAuthenticated={b3987daa-d463-415f-8fb3-d556c27e5bbf}
    المضيف:localhost:8181
    إذن:NTLM TlRMTVNTU...

    • عند استخدام IE8 طلب HTTP يبدو (إشعار lcid=1049.ربما يمكن أن تكون المشكلة؟):

    قبول:image/jpeg, image/gif, image/pjpeg, application/x-ms-التطبيق, التطبيق/xaml+xml, application/x-ms-xbap, /
    قبول اللغة:en-US
    User-Agent:Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.1;WOW64;ترايدنت/5.0;SLCC2;.NET CLR 2.0.50727;.NET4.0C;.NET4.0E;.NET CLR 3.5.30729;.NET CLR 3.0.30729;InfoPath.3)
    تقبل ترميز:gzip, وفرغ
    الاتصال:المحافظة على الحياة
    ملف تعريف الارتباط:lcid=1049;WSS_KeepSessionAuthenticated={b3987daa-d463-415f-8fb3-d556c27e5bbf}
    إذن:NTLM TlRMTVNTU...
    المضيف:المضيف:8181

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

المحلول

وأخيرا يعلق عليه.اتضح أن تكون ميزة SharePoint بقية.أنا في حاجة إلى اتخاذ لغة واجهة المستخدم بعين الاعتبار!

فعلى سبيل المثال ، في حالة en-us لغة بقية الاستعلام ينبغي أن تبدو هذه:

?$فلتر=endswith(المسار,'FolderName')

ولكن في رو-رو يصبح:

?$فلتر=endswith(Путь,'FolderName')

وعلاوة على ذلك ، تحتاج إلى الهروب من الحروف الروسية.أخيرا يجب أن تبدو مثل هذا:

?$فلتر=endswith(%D0%9F%D1%83%D1%82%D1%8C",'FolderName')

هذه ليست المشكلة الوحيدة ، ومع ذلك...سلمان تلقي تبين أيضا أن تكون مترجمة.هذا يعني أن الخصائص أسماء محلية مختلفة.على سبيل المثال ، عاد سلمان في en-us:

{..."ModifiedById":1,"CopySource":null,"ApprovalStatus":"0","Path":"/Lists/ImageBanners/BottomRight"...}

في رو-رو:

{...."КемИзмененоId":1,"ИсточникКопии":null,"СостояниеУтверждения":"0","Путь":"/Lists/ImageBanners/BottomRight"...}

انها مشكلة, لأنه من الصعب حقا التنبؤ أسماء من خصائص لغات مختلفة.أتمنى أن هذه المعلومات ستكون مفيدة تحذير لشخص ما.

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