ブラウザーでフォームを開くときの "アクセス拒否" エラー (イベント ID 5566)

現象

UserGroup.asmx Web サービスの GetUserCollectionFromGroup メソッドを使用してユーザーとグループを列挙する InfoPath フォームがあります。 ブラウザーでフォームを開こうとします。 ただし、フォームは開かないため、次のようなエラー メッセージが表示されます。

Web サービスへの接続中にエラーが発生しました。
エントリがサーバーの Windows イベント ログに追加されました。
ログ ID:5566

統合ログ システム (ULS) ログを表示すると、次のようなエントリが表示されます。

アクセスが拒否されました。 例外: 'アクセスが拒否されました。 (HRESULT からの例外: 0x80070005 (E_ACCESSDENIED)',StackTrace: ' at Microsoft.SharePoint.Library.SPRequestInternalClass.GetUsersDataAsSafeArray(String bstrUrl, UInt32 dwUsersScope, UInt32 dwUserCollectionFlags, Microsoft.SharePoint.Library.SPRequest.GetUsersDataAsSafeArray(String bstrUrl, UInt3&&& 2 dwUsersScope, UInt32 dwUserCollectionFlags, String bstrValue, UInt32 dwUserCollectionFlags, String bstrValue, UInt32 dwUserCollectionFlags, UInt32 dwUserCollectionFlags, UInt32 dwstrValue, UInt32 dwValue)、UInt32& pdwColCount、UInt32& pdwRowCount、Object& pvarDataSet)' です。

原因

フォームを開くと、 GetUserCollectionFromGroup メソッドはセキュリティ コンテキストを使用して SharePoint グループとユーザーを列挙します。 サイト所有者グループのメンバーである場合、アクセス許可が十分でない可能性があります。 その場合、メソッドは失敗します。

回避策

ファーム管理者グループのメンバーであるアカウントを使用する場合、このメソッドは正しく機能する必要があります。

ファーム管理者グループのアカウントを使用してフォームを開くことができない場合は、フォームが列挙する SharePoint グループのアクセス許可を変更する必要があります。 これを行うには、次の手順を実行します。

  1. [サイトの設定]、[>Peopleグループ] の順に移動し、編集するグループを選択します。
  2. グループ ページで、[設定] [グループ設定]> の順に選択します。
  3. [ グループのメンバーシップを表示できるユーザー] で、[ すべてのユーザー] を選択します。

詳細

さらにヘルプが必要ですか? SharePoint コミュニティにアクセスしてください。