2012-05-09 16 views
0

SharePoint 2010サイトに同じドキュメントの3つのバージョンがあるとします。 Webサービスを使用して、たとえば2番目のバージョンのメタデータを取得するにはどうすればよいですか? SharePointのLists.GetListItems Webサービスメソッドを使用して特定のドキュメントバージョンを取得する

は、私は、次のSOAPリクエスト

<?xml version="1.0" ?> 
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
<S:Body> 
    <GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
     <listName>Shared Documents</listName> 
     <viewName></viewName> 
     <query> 
      <Query><Where><Eq><FieldRef Name="FileRef"/> 
      <Value Type="Text">https://mysite.com/sites/DocLib026/Shared Documents/_mytest5.doc</Value></Eq></Where></Query> 
     </query> 
     <rowLimit>200</rowLimit> 
    </GetListItems> 
</S:Body></S:Envelope> 

で最新バージョンを取得できることを知っている私は、既存のバージョンのいずれかを取得できるように、どのように私はこれを修正することができますか?私は、コードを使用した後、Sharepointのオブジェクトモデルを使用

答えて

0

hereが見つかりました:

using (SPSite site = new SPSite(“http://SharePointSite”)) 
{ 
using (SPWeb web = site.OpenWeb()) 
{ 
SPList docs = web.Lists["Mydocumentlib"]; 
    foreach (SPFile file in docs.RootFolder.Files) 
{ 
    Console.WriteLine(“File {0} has next version {1}. Version History:”, file.Url,   file.UIVersionLabel); 
    foreach (SPFileVersion v in file.Versions.Cast().Reverse()) 
    { 
    Console.WriteLine(” Version {0} checked in at {1} with this comment: ‘{2}’”, v.VersionLabel, v.Created, v.CheckInComment); 
    } 
} 
}} 

だけのforeach方法を調整し、あそこにあなたの魔法ものを行います。

+0

私はWebサービスソリューションが必要です。私は実際にSOAP Webサービスコールを行うためにJavaを使用しています。しかし、ありがとう。 – duvo

+0

私のサーバーの内部を見てみましょう。リストビューでそれらのアイテムを表示し、そのビューにcaml-query ...アクセスできますか?リストの設定? – ricardordz

+0

はい、私はサイト管理者として許可されました。私はCAMLについて考えましたが、私が照会できる属性は見当たりませんでした。私は_UIVersionString属性を試してみました。これは、バージョン番号が一致するドキュメントのみを返します。たとえば、_UIVersionString = 4.0は4バージョンのドキュメントを返します。本当に助けに感謝します – duvo

関連する問題