
Microsoft SharePointとInfoPathを連携させる業務システムでは、UndoCheckOut操作でエラーが発生する事例が多数報告されています。
- はじめに:InfoPathとSharePointの連携トラブルとは
- エラー発生時の症状とログからの読み解き方
- 原因1:チェックアウトユーザーとの不一致
- 原因2:SharePoint上のアクセス権の欠如
- 対応策:必要なSharePoint権限を確認・付与する方法
- InfoPathフォームとの連携時の注意点
- まとめ:SharePointとInfoPath連携を安定運用するには
はじめに:InfoPathとSharePointの連携トラブルとは
SharePointのUndoCheckOutエラーの多くは権限設定に起因しています。
企業の業務効率化において、MicrosoftのSharePointとInfoPathを組み合わせたドキュメント運用は非常に有用です。しかし、InfoPathフォーム経由でファイルをUndoCheckOutしようとした際に「500 Internal Server Error」や「Access is denied」といったエラーが表示され、運用が止まるケースが相次いでいます。特にエラー発生時にはシステムログやULSログを精査しても、直接的な原因が把握しづらいことが、現場の混乱を招いています。
エラー発生時の症状とログからの読み解き方
ログに表示される「Access is denied」は、操作ユーザーの権限不足を意味します。
InfoPathフォームが使用するWebサービスの呼び出し時に、チェックアウト解除(UndoCheckOut)を実行すると、SharePointから「500 Internal Server Error」が返されることがあります。このエラーの背後にあるのは、InfoPathフォームから送信されたリクエストに対して、SharePointが“アクセス拒否(E_ACCESSDENIED)”を返していることです。ULSログには「The remote server returned an error: (500) Internal Server Error. Server was unable to process request. ---> Access is denied.」という記録が見られます。
原因1:チェックアウトユーザーとの不一致
ファイルをチェックアウトした本人以外はUndoCheckOutできません。
SharePointでは、あるユーザーがファイルをチェックアウトした場合、そのファイルの一時的な「所有者」として認識されます。これは他のユーザーがそのファイルを編集したりチェックイン・チェックアウト操作を行えないようにするセキュリティ機能です。そのため、別のユーザーアカウントやInfoPathフォームに設定されたシステムアカウントからUndoCheckOutを試みると、SharePointは自動的にアクセス拒否を返し、リクエストが失敗します。これは設計上の仕様であり、操作の失敗ではありません。
原因2:SharePoint上のアクセス権の欠如
UndoCheckOutには「Override List Behaviors」権限が必要です。
チェックアウトした本人以外がUndoCheckOutを実行するには、対象のライブラリにおいて「Override List Behaviors」という特別な権限が必要です。これは通常の編集権限では付与されないため、SharePoint管理者による個別設定が必要です。また、この権限の付与には慎重な検討が求められます。なぜなら誤って他人の作業を上書きしてしまうなど、チーム全体のドキュメント管理に混乱を招くリスクがあるからです。
対応策:必要なSharePoint権限を確認・付与する方法
「ライブラリのアクセス許可」からユーザーの権限を確認できます。
SharePoint上で対象ファイルの格納先となる「ドキュメントライブラリ」に移動し、右上の⚙️マークから「ライブラリの設定」→「このドキュメントライブラリのアクセス許可」と進みます。そこで該当ユーザーのアカウントを入力し、「今すぐ確認」ボタンを押すことで、現在付与されている権限を一覧表示できます。もし「Override List Behaviors」や「Manage Versions」「フル コントロール」などが表示されていない場合、管理者に依頼して追加権限を付与してもらう必要があります。
InfoPathフォームとの連携時の注意点
InfoPath経由での操作でもSharePoint側の権限が適用されます。
InfoPathフォーム内で設定されたWebサービス呼び出しでは、実行されるアクションに関してSharePoint側のユーザー認証が適用されます。つまり、たとえフォーム側でUndoCheckOut操作を定義していても、バックエンドで呼び出されるSharePointのAPIが、対象ファイルのチェックアウト状態やユーザー権限を確認し、要件を満たしていなければ操作は拒否されます。このため、InfoPath上の設定だけで完結せず、SharePoint上のセキュリティ設計と整合性を持たせる必要があります。
まとめ:SharePointとInfoPath連携を安定運用するには
エラーの多くは適切な設定と権限の確認で防ぐことができます。
今回のような「UndoCheckOutが失敗する」問題は、SharePointの仕様に対する理解と、運用ポリシーに即したユーザー権限の管理で回避可能です。特にファイルの所有権に関する設計や、業務フローにおけるアクセス権限の設計が不十分だと、InfoPathとの連携で不具合が生じます。SharePointの「チェックアウト文化」は企業のドキュメント管理において重要な要素です。今後もこのようなエラーを未然に防ぐため、システム管理者と利用者が共に運用ルールを見直し、明確なガイドラインを設けていくことが求められます。