トップ回答者
webサービス[Lists.CheckOutFileメソッド]について

質問
-
はじめまして、現在、既存システムからMOSSで管理しているドキュメント(OFFICEドキュメント)の操作を
行うためにどのような技術が必要か調査中なのですが、用意されているwebサービスを利用するため
サンプルPGを作成していて行き詰ってしまいました。
Lists.GetListItemsを利用してドキュメントの一覧を取得するとこまではSDKにある例で実行できたのですが、
一覧中の特定のドキュメントを選択し、チェックアウトを行うことができません。
チェックアウトを行うために、以下の処理を行っています。
使用メソッド:Lists.CheckOutFile(pageUrl, chekuoutToLocal, lastmodified)
pageUrl : http://Server_Name/ + GetListItemsで取得した際の対象アイテムの『ows_FileRef』より取得した値を設定
chekuoutToLocal : "true"
lastmodified : GetListItemsで取得した際の対象アイテムの『ows_Last_x0020_Modified』より日時を取得し、DateTime.ToString("R")で変換した値を設定
メソッド実行直前にCredentialsには認証情報が設定されていることを確認しています。また今回使用しているユーザは
MOSS上の管理者として登録されているユーザを使用しています。
上記設定を行った後にLists.CheckOutFileを実行するとメソッドの戻り値がfalseとなってしまいチェックアウトが上手く
行きません。
予定では対象ドキュメントをMOSS上の一覧で見るとメソッド実行後はチェックアウト状態になるというのを期待していたのですが
上手くいきませんでした。
そもそもWebサービスを使用してこのような事を実現できるものなのか、上記手順で良いのか?ご存知の方がいらっしゃいましたら
ご教授願いたく質問させていただきました。
できましたら、MOSSのWEBサービスの具体的な使用例など参考になりそうなサイト等教えていただけると助かります。
使用OS:Windows2003 Enterprise Edition SP2
MOSS:version=12.0.6219.1000
上記処理の実行はVisual Studio2008のデバック実行で行いました。
質問の仕方も良く解らず投稿してしまいました。不備な点等ございましたらご指摘下さい。
よろしくお願いいたします。
回答
-
こんにちは。
Lists.CheckOutFileメソッドの引数は正しい値になっているか確認されましたか?
WSS3SDKのLists.CheckOutFileメソッドの説明では、lastmodifiedが対象ファイルの更新日時と
合っていないと戻り値がfalseになると書かれています。
デバッグ実行で引数の値を確認してみてください。
また引数lastmodifiedは省略可能ですので、チェックアウトできるか確認するだけなら省略してもよいかと思います。
Lists.GetListItemsでLists.CheckOutFileに必要な引数を取得するという構成は特に問題ないと思いますよ。
引数が正しい値で渡せればチェックアウトされるはずです。
私はLists.CheckOutFileメソッドにリテラルの引数を指定して実行したところちゃんとチェックアウトできました。
MOSSのWebサービスは情報が少ないですが、例えば”Lists.GetListItems”で検索するといくつかサイトが出てきます。
英語サイトがほとんどですが、中には日本語サイトもありますので検索してみてください。
すべての返信
-
こんにちは。
Lists.CheckOutFileメソッドの引数は正しい値になっているか確認されましたか?
WSS3SDKのLists.CheckOutFileメソッドの説明では、lastmodifiedが対象ファイルの更新日時と
合っていないと戻り値がfalseになると書かれています。
デバッグ実行で引数の値を確認してみてください。
また引数lastmodifiedは省略可能ですので、チェックアウトできるか確認するだけなら省略してもよいかと思います。
Lists.GetListItemsでLists.CheckOutFileに必要な引数を取得するという構成は特に問題ないと思いますよ。
引数が正しい値で渡せればチェックアウトされるはずです。
私はLists.CheckOutFileメソッドにリテラルの引数を指定して実行したところちゃんとチェックアウトできました。
MOSSのWebサービスは情報が少ないですが、例えば”Lists.GetListItems”で検索するといくつかサイトが出てきます。
英語サイトがほとんどですが、中には日本語サイトもありますので検索してみてください。
-