كنت تفعل بعض البحوث لشخص اليوم حول خدمة ويب list.asmx وقدمت كجزء من SharePoint 2010 (وقبل ذلك). وقالت أنها كانت قادرة على الحصول على قائمة العناصر الموجودة في المجلد الجذر (بما في ذلك أسماء المجلدات الفرعية), ولكن لم أستطع الحصول على العناصر الموجودة في المجلدات الفرعية. فعلت بعض حولهم على الإنترنت وأنها ليست مسألة مشتركة مما يثير الدهشة. بعد, لم أستطع الحصول على رد جيد على سؤال بسيط, "لو أعرف المجلد, كيف يمكنني الحصول على العناصر في مجلد?” أن نكون صادقين, لم يحاول كل ما جد منذ كنت أريد أن الرقم هذا أحد الخروج بمفردي لفترة من الوقت .
لإعداد هذا, قمت بإنشاء موقع المسمى "سيناريوهات المدونات" وقائمة مخصصة المسماة "قائمة مخصصة مع المجلدات الفرعية". ثم أنشئت المجلدات المسماة:
- السنة 2005
- السنة 2006
- السنة 2007
أضفت بعض العناصر إلى المجلد "العام 2006". وهذا ما يبدو:
صديقي ليس كتابة التعليمات البرمجية C# ولكن بدلاً من ذلك باستخدام Java, هكذا كان مغلف SOAP ما أنها في حاجة حقا. للحصول على ذلك, كتب قليلاً من jQuery، وثم استخدم fiddler للحصول على محادثة HTTP الفعلية.
هنا هو jQuery ذات الصلة (نسخ التعليمة البرمجية إلى الأسفل أدناه إذا كنت تريد نسخ/لصق):
أنها المفتاح الأول أن تشمل كلا <كويريوبشنز> و <كويريوبشنز> العقدة. المفتاح الثاني أن <المجلد> العقدة هو عنوان URL الذي يملك العميل حق الوصول.
قد تكون هناك طرق أخرى للحصول على هذا, ولكن هذا عمل جيد بالنسبة لي عند استخدام jQuery.
هنا هو مغلف SOAP المذكورة أعلاه:
<سوابينف:Xmlns المغلف:سوابينف =’http://schemas.xmlsoap.org/soap/envelope/’>
<سوابينف:الهيئة>
<Xmlns جيتليستيتيمس =’http://schemas.microsoft.com/sharepoint/soap/’>
<listName>قائمة مخصصة مع المجلدات الفرعية</listName>
<فيوفيلدس>
<فيوفيلدس>
<اسم فيلدريف = ' العنوان’ />
<اسم فيلدريف = ' انكوديدابسورل’ />
</فيوفيلدس>
</فيوفيلدس>
<كويريوبشنز>
<كويريوبشنز>
<المجلد>http://demoserver1/المدونات قائمة السيناريوهات/قوائم/مخصص مع الفرعي مجلدات/عام 2006</المجلد>
</كويريوبشنز>
</كويريوبشنز>
</جيتليستيتيمس>
</سوابينف:الهيئة>
</سوابينف:مغلف>
كثير من الأمثلة والمناقشة حول هذا قادني إلى الاعتقاد بأن كل ما أحتاج <كويريوبشنز> وحدد اسم مجلد. بالنسبة لي, أنا بحاجة إلى كل الانتهاء من ذلك داخل <كويريوبشنز> فضلا عن تحديد عنوان URL مؤهل بشكل كامل <المجلد> عقده.
وإليك الإعداد أياكس jQuery:
$(الوثيقة).استعداد(الدالة() {
فأر سوابينف =
"<سوابينف:Xmlns المغلف:سوابينف =’http://schemas.xmlsoap.org/soap/envelope/’> \
<سوابينف:الهيئة> \
<Xmlns جيتليستيتيمس =’http://schemas.microsoft.com/sharepoint/soap/’> \
<listName>قائمة مخصصة مع المجلدات الفرعية</listName> \
<فيوفيلدس> \
<فيوفيلدس> \
<اسم فيلدريف = ' العنوان’ /> \
<اسم فيلدريف = ' انكوديدابسورل’ /> \
</فيوفيلدس> \
</فيوفيلدس> \
<كويريوبشنز> \
<كويريوبشنز> \
<المجلد>http://demoserver1/Blogging قائمة السيناريوهات/قوائم/مخصص مع الفرعي مجلدات/عام 2006</المجلد> \
</كويريوبشنز> \
</كويريوبشنز> \
</جيتليستيتيمس> \
</سوابينف:الهيئة> \
</سوابينف:مغلف>";
</نهاية>
اتبعني على التغريد في http://www.twitter.com/pagalvin
مرحبا
وإني أسعى إلى عرض الوثائق تحت مجلد معين من الحزب الاشتراكي الديمقراطي باستخدام 2010 جيتليستيتيمس مصدر البيانات
بمجرد الاتصال بخدمة ويب الخاصة بي، وإدخال المعرف الفريد العمومي لمكتبة المستندات
أنا يمكن تعديلها كويريوبشنز وأدخل قطعة التالية من CAML
TrainingCompanyX الامتثال.
هذا فقط لا يقوم بإرجاع أية نتائج – إزالة المعلمة كويريوبشنز بإرجاع كافة المستندات في مكتبة المستندات الجذر….
وأنا وأنا ابحث في تمرير بعض نوع من عرض المعلمة وتشمل عرض guid.
هذه وظيفة/تعليق قديم جداً آسف جداً لعدم الرد. وافترض لك طويلة منذ ذلك الحين برزت على كيفية المضي قدما.
المادة جيدة! بفضل.
يمكنك أيضا استخدام خيار RecursiveAll لاجتياز تلقائياً أسفل بنية المجلد (من مستوى الجذر).
موافق, يبدو أنها جردت من xml… مجرد استبدال علامات الجنيه أدناه مع علامات الاقتباس.
#كويريوبشنز #
#كويريوبشنز #
#نطاق فيواتريبوتيس = 'RecursiveAll'/#
#/كويريوبشنز #
#/كويريوبشنز #
بفضل حفنة لهذا المنصب, بول. لقد كنت تحاول أن تستهلك جيتليستيتيمس عبر كفهتب كولد فيوجن, ولم أستطع الحصول على المغلف الصحيح. وجاء في نهاية المطاف عبر هذا المنصب, وعملت المثال الخاص بك لا تشوبه شائبة. شكرا مرة أخرى.
راجع للشغل – هل تعرف من مورد الذي يسرد كافة المغلفات الصابون المناسب? واحد "البنود جيتليست" المنشورة على موقع microsoft.com لا يطابق أنت كنت هنا…