3

ドキュメント ライブラリ内のドキュメントをあるフォルダから別のフォルダ (同じライブラリ内) に移動しようと必死になっています。これはすべて、Web サービスを介して行う必要があります。

次のような XML のバッチ処理で UpdateListItems メソッドを使用しています。

<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の代わりにさまざまなフィールドを更新しようとしました-運が良ければ...

ヒントをありがとう...

4

4 に答える 4

2

最終的に、WebDAV を使用してこれを回避する方法を見つけました。申し訳ありませんが、質問が間違って提起されました。Web サービスは実際には必要ありませんでしたが、リモートの ASP.NET サイトから使用できるものは何でも必要でした。ファイルを移動する(単純な)コードは次のとおりです。

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

lRequest.Headers.Add("Destination", targetUrl);
var lResponse = lRequest.GetResponse();
于 2009-08-28T12:44:03.263 に答える
1

私は、これがすぐに使えるWebサービスでは不可能だと思います。ただし、独自のWebサービスを作成し、それをSharePointに展開します。

また、コピーWebサービスとリストWebサービスの2つのWebサービスを使用することも可能です。最初にコピーを実行してから、リストサービスを使用して元のファイルを削除します。

于 2009-08-20T07:35:49.453 に答える
1

はい、Colin が提案するように、Copy Web Service を使用してください。これは、OOB Web サービスを使用する唯一の方法です。ただし、作成者と日付の情報だけでなく、バ​​ージョン履歴もすべて失われることに注意してください。Copy WS はこの情報を保存しません。

これがショー ストッパーである場合は、SharePoint の CopyMove を確認することをお勧めします。また、メタデータを失うことなく、ドキュメント、アイテム、およびフォルダーをコピーまたは移動できる Web サービスも付属しています。

于 2009-08-20T08:50:07.103 に答える
0
Move documents and Folder
<Batch OnError='Continue' RootFolder='/Shared Documents/'>
   <Method ID='1' Cmd='Move'>
      <Field Name='ID'>1</Field>
      <Field Name='FileRef'>/Shared Documents/MyFile.txt</Field>
      <Field Name='MoveNewUrl'>/Shared Documents/MyFolder/MyFile.txt</Field>
   </Method>
</Batch>
于 2021-01-29T06:29:38.150 に答える