001-006396
削除されたユーザーのユーザーデータが削除される前に、「BaseGetUsersById」を使用して、そのユーザーのユーザー情報を取得しようとすると、エラーが発生する。
- 種別
- 不具合
- 機能
-
- SOAP API
- 再現バージョン
-
- 3.7.0
- 3.7.1
- 改修バージョン
- 3.7.2
- 公開日
- 2013-04-24
- 更新日
- 2013-10-25
詳細
【準備】
- ユーザーを追加します。
例:
ユーザー1(uid = 2) - ユーザー1を削除します。
補足:
「削除されたユーザーのデータ」は削除せずに残しておきます。
システム管理画面で次の操作を行なうと、データの状態を確認できます。
- [基本システムの管理] > [ユーザー] > [ユーザーデータの削除時間の設定]の順にクリックします。
- データを削除するユーザーで、 「ユーザー1」が表示されていることを確認します。
- [基本システムの管理] > [ユーザー] > [ユーザーデータの削除時間の設定]の順にクリックします。
【再現手順】
- API「BaseGetUsersById」を使用して、削除したユーザーのユーザー情報を取得します。
APIリクエスト例:
----------------------
<parameters xmlns="">
<user_id>2</user_id>
</parameters>
----------------------
→現象発生:
ユーザー1が組織に所属している場合:
レスポンス内に、次のエラーが出力されます。
----------------------
Fatal error: Call to a member function getOID() on a non-object in /var/www/cgi-bin/cbgrn/code/include/fw/uum.csp on line 485
----------------------
ユーザー1が組織に所属していない場合:
レスポンス内に、次のエラーが出力されます。
----------------------
<soap:Detail>
<code>GRN_CMMN_00105</code>
<diagnosis>指定されたユーザーが見つかりません。</diagnosis>
<cause>ユーザーの指定が誤っているか、ユーザーが削除されています。</cause>
<counter_measure>目的のユーザーを確認してください。</counter_measure>
</soap:Detail>
----------------------
補足
- API「BaseGetUsersById」を使用して、削除したユーザーのユーザー情報を取得すると、レスポンスとして返す情報が空になるのが正しい挙動です。
回避/対応方法
【回避方法】
次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
- バージョン 3.7.2 のガルーン
------------------------------------------------------------
【更新履歴】
2013/10/22 タイトルを一部変更しました。
2013/08/02 例を修正しました。
2013/06/18 再現バージョンを修正しました。