intra-mart Accel Platform メッセージコードリファレンス 2023-10-02

E.IWP.SALESFORCE.CLIENT.00028

メッセージ

Salesforceから200番台以外のステータスコードが応答されました。 status={0}, reason={1}

引数

{0} : ステータスコード
{1} : エラー理由

詳細

Salesforce のバージョン情報やオブジェクト情報を取得する処理で、Salesforce からエラーレスポンスを受信した場合に発生します。

原因

Salesforceから受信したステータスコードが正常(200)ではない場合に発生します。
Salesforce から取得したアクセストークン、または、Salesforceの接続アプリケーションが、Salesforce 側で無効にされた可能性があります。

対応方法

Salesforceクライアントの設定(salesforce-client-config.xml)で設定した認証タイプ毎に以下の内容を確認してください。
  • 認証タイプが「oauth-client」の場合

    1. 以下の手順でSalesforceの接続アプリケーションが有効であることを確認してください。

      1. Salesforceにログインし、「設定」-「管理」-「アプリケーションを管理する」-「接続アプリケーション」より対象の接続アプリケーションが存在するか確認してください。
        • 存在しない場合、「Salesforce 連携セットアップガイド」の「Salesforce の準備」を参照して接続アプリケーションを登録してください。
      2. 対象の接続アプリケーション名のリンクをクリックして接続アプリケーションの詳細へ遷移してください。
      3. 「OAuth ポリシー」-「利用状況」の「OAuth 利用状況を表示」リンクをクリックして、接続アプリケーションの OAuth の利用状況で対象の接続アプリケーションが「Block」されていないことを確認してください。
        • 「Block」されている場合、「Unblock」をクリックして接続アプリケーションを有効にしてください。
    2. 以下の手順で intra-mart Accel Platform の「外部連携アプリケーション」を再設定してください。

      1. エラーが発生したユーザで intra-mart Accel Platform にログインします。
      2. ユーティリティメニューより、「個人設定」-「外部連携アプリケーション」を選択します。
      3. 「Salesforce REST API」の「解除」ボタンをクリックします。
      4. 解除後、「Salesforce REST API」の「許可」ボタンをクリックして、「Salesforce REST API」を許可してください。
      • 「Salesforce REST API」を許可する際の操作方法の詳細は、「Salesforce 連携セットアップガイド」の「疎通確認」を参照してください。
  • 認証タイプが「fixed-user-password」、または、「user-password」の場合
    1. 以下の手順でSalesforceの接続アプリケーションが有効であることを確認してください。

      1. Salesforceにログインし、「設定」-「管理」-「アプリケーションを管理する」-「接続アプリケーション」より対象の接続アプリケーションが存在するか確認してください。
        • 存在しない場合、「Salesforce 連携セットアップガイド」の「Salesforce の準備」を参照して接続アプリケーションを登録してください。
    2. 以下の手順で intra-mart Accel Platform の「外部連携アプリケーションのアクセストークン情報(imoauth_provider_token)」テーブルのレコードを削除してください。

      1. テナント管理者で intra-mart Accel Platform にログインします。
      2. サイトマップより「テナント管理」-「データベース操作」を選択します。
      3. 「SQL」欄に以下のSQLを入力し、「実行」ボタンをクリックします。
        (※1には「エラーが発生したユーザコード」を、※2には「エラー発生時に利用していたSalesforceクライアントを識別する一意のID」を設定してください。)
        DELETE FROM imoauth_provider_token WHERE user_cd = '※1' AND provider_id = '※2'