كيفية نقل المستند إلى مجلد مختلف في مكتبة SharePoint مع خدمات الويب

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

سؤال

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

أنا أستخدم طريقة UpdateListItems مع خلط XML مثل هذا:

<Batch>
 <Method ID="1" Cmd="Update">
    <Field Name="ID">14</Field>
    <Field Name="ServerUrl">personal/blabla/Documents/CT-5/image.jpg</Field>
 </Method>
</Batch>

لقد حاولت تحديث المجالات المختلفة بدلا من Serverurl أعلاه - لا شيء مع الحظ ...

شكرا لأي تلميحات ...

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

المحلول

في النهاية، وجدت طريقة للتحصل حول هذا باستخدام WebDAV. وآسف تم طرح السؤال بشكل غير صحيح - أنا حقا لا أحتاج إلى خدمات الويب، مما كان متاحا لي للاستخدام من موقع ASP.NET بعيد. إليك التعليمات البرمجية (البسيطة) التي تم نقلها إلى ملف:

WebRequest lRequest = WebRequest.Create(sourceUrl);
lRequest.Credentials = CredentialCache.DefaultCredentials;
lRequest.Method = "MOVE";

lRequest.Headers.Add("Destination", targetUrl);
var lResponse = lRequest.GetResponse();

نصائح أخرى

لا أعتقد أن هذا ممكن مع خارج خدمات ويب مربع. تكتب yould خدمة الويب الخاصة بك على الرغم من ونشرها إلى SharePoint.

ما هو أيضا الاحتمال هو استخدام 2 خدمات الويب: ينسخ خدمة الويب وخدمة الويب القوائم. أولا القيام نسخة، ثم استخدم خدمة القوائم لحذف الأصل.

نعم، استخدم خدمة Web Copy كما يقترح كولن. هذه هي الطريقة الوحيدة مع خدمات الويب OOB. ولكن فقط كن على علم بأنك ستفقد كل معلومات المؤلف والتاريخ بالإضافة إلى أي تاريخ إصدار. النسخة WS لا تحافظ على هذه المعلومات.

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

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