001-006396

パッケージ版 Garoon

関心あり
0人の方が関心を示しています。

削除されたユーザーのユーザーデータが削除される前に、「BaseGetUsersById」を使用して、そのユーザーのユーザー情報を取得しようとすると、エラーが発生する。

種別
不具合
機能
  • SOAP API
再現バージョン
  • 3.7.0
  • 3.7.1
改修バージョン
3.7.2
公開日
2013-04-24
更新日
2013-10-25

【準備】

  • ユーザーを追加します。

    例:
    ユーザー1(uid = 2)

  • ユーザー1を削除します。

    補足:
    「削除されたユーザーのデータ」は削除せずに残しておきます。
    システム管理画面で次の操作を行なうと、データの状態を確認できます。

    1. [基本システムの管理] > [ユーザー] > [ユーザーデータの削除時間の設定]の順にクリックします。

    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 再現バージョンを修正しました。

関連記事