このトピックでは、モバイルゲートウェイサービス (MGS) の結果コードについて説明し、問題のトラブルシューティングに役立てます。
ゲートウェイ側の結果コード
結果コード 1000 は API 呼び出しの成功を示します。その他のコードはすべてエラーを示します。
1001 から 5999 まで、および 7XXX の範囲の結果コードは、ゲートウェイエラーを示します。
7XXX の範囲のコードは、Security Guard の署名検証または復号のエラーを示します。詳細については、「Security Guard の結果コードリファレンス」をご参照ください。
結果コードに加えて、レスポンスヘッダーの
Memoおよびtipsフィールドで、より詳細なエラー情報を確認できます。Apsara Stack ユーザーは、ゲートウェイサーバー上の
~/logs/gateway/gateway-error.logファイルで詳細なエラー情報を表示することもできます。
例外が発生した場合は、ゲートウェイ例外のトラブルシューティングガイドを使用してトラブルシューティングを行ってください。詳細については、「ゲートウェイ例外のトラブルシューティング」をご参照ください。
結果コード | 説明 | 解説 |
1000 | 成功 | ゲートウェイ API の呼び出しは正常に処理されました。 |
1001 | アクセスが拒否されました | モック形式が正しくない、 |
1002 | API 呼び出し制限を超えました | この例外は、スロットリングを有効にした後、リクエストレート制限がトリガーされたときに発生します。 |
1005 | 権限がありません | この例外は、API 権限付与を有効にした後、API 権限付与に失敗したときに発生します。 |
2000 | ログインタイムアウト | この例外は、権限付与機能が有効になっている場合に、非ログイン状態でトリガーされます。 |
3000 | RPC インターフェイスが存在しないか、閉じられています | 現在の workspaceId に対応する環境で、appId に対応するモバイルアプリケーションに対して指定された operationType の API サービスが設定されていないか、API サービスがアクティブ状態ではありません。 |
3001 | リクエストデータが空です | クライアントリクエストの |
3002 | 不正なデータ形式 | RPC リクエストの形式が正しくありません。Apsara Stack ユーザーは、サーバー側の |
3003 | データの復号に失敗しました | データの復号に失敗しました。 |
4001 | サービスリクエストタイムアウト | MGS が業務システムサービスを呼び出す際にタイムアウトしました。これは、バックエンド業務システムの負荷が高いことが原因です。バックエンドシステムの稼働状況を確認してください。タイムアウト設定が不合理な場合は、必要に応じて調整してください。注:デフォルトのタイムアウトは 3 秒です。 |
4002 | 業務システムへのリモート呼び出しで例外が発生しました | MGS が業務システムサービスを呼び出す際に例外が発生しました。Apsara Stack ユーザーは、サーバー側の |
4003 | API グループ HOST 例外 | MGS が HTTP 業務システムサービスを呼び出す際に |
5000 | 不明な例外 | その他の重大なエラーです。Apsara Stack ユーザーは、サーバー側の |
7000 | 公開キーが設定されていません | モバイルアプリの Security Guard に appId に対応するキーが存在しないか、ゲートウェイが appId の署名キーを取得できません。 |
7001 | 署名検証のパラメーターが不足しています | ゲートウェイによるサーバー側の署名検証に失敗しました。 |
7002 | 署名検証に失敗しました | ゲートウェイによるサーバー側の署名検証に失敗しました。 |
7003 | 署名検証 - タイムリー性の確認に失敗しました | API リクエストパラメーターの ts タイムスタンプが、システムの有効期間に基づいて期限切れになっています。クライアントの時刻がシステム時刻と同期しているか確認してください。 |
7007 | 署名検証 - ts パラメーターの欠落 | API リクエストから署名検証のための ts パラメーターが欠落しています。 |
7014 | 署名検証 - sign パラメーターの欠落 | API リクエストから署名検証のための sign パラメーターが欠落しています。これは通常、クライアントがデータの署名に失敗したことが原因です。クライアントの Security Guard イメージが正しいか確認してください。 |
8002 | クロスドメインプリフライトリクエスト (CORS プリフライト) | クロスドメインプリフライトリクエストです。 |
サービス側の結果コード
以下の結果コードのエラー情報は、業務システムサーバーで確認できます。
各業務システムの ~/logs/mobileservice/monitor.log ログを表示することで、具体的な例外の詳細を判断できます。
結果コード | 適用プロトコル | 説明 | 解説 |
6000 | MPC、DUBBO | RPC - ターゲットサービスが見つかりません | 公開済みサービスが見つかりません。サーバーにアクセスできないか、サービスが移行されています。 |
6001 | MPC、DUBBO | RPC - ターゲットメソッドが見つかりません | 公開済みサービス内のメソッドが見つかりません。 |
6002 | MPC、DUBBO | RPC - パラメーター数が正しくありません | 入力パラメーターの数が宣言されたパラメーターの数と一致しません。 |
6003 | MPC、DUBBO | RPC - ターゲットメソッドにアクセスできません | ターゲットメソッドを呼び出せません。 |
6004 | HTTP、MPC、DUBBO | RPC - JSON 解析例外 | HTTP:RPC パラメーターをバックエンドの HTTP リクエストパラメーターに変換する際に例外が発生しました。MPC/DUBBO:RPC の JSON 形式のデータを業務パラメーターオブジェクトに逆シリアル化できませんでした。 |
6005 | MPC、DUBBO | RPC - ターゲットメソッド呼び出し時のパラメーターが無効です | リフレクションベースの呼び出しに対してパラメーターが無効です。 |
6007 | MPC、DUBBO | RPC - ログイン認証サービスが利用できません | Service Provider Interface (SPI) パッケージのログイン認証インターフェイスが実装されていないか、インターフェイスが正しく設定されていません。 |
6666 | HTTP、MPC、DUBBO | RPC - 業務によってスローされた例外 | HTTP:バックエンドシステムが 200 以外の HTTP ステータスコードを返しました。MPC/DUBBO:業務によって例外がスローされました。RPC はそれを処理できず、業務例外として扱います。 |
Android クライアントの結果コード
結果コード | 説明 | プロンプトテキスト |
0 | 不明なエラー | 不明なエラーです。しばらくしてからもう一度お試しください。 |
1 | トランスポートが設定されていないため、クライアントは通信オブジェクトを見つけられません。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
2 | ユーザーがネットワークをオフにしたり、アプリケーションのネットワーク権限を無効にしたりした場合など、クライアントにネットワーク接続がありません。 | ネットワークに接続できません。 |
3 | SSL ハンドシェイクエラーや SSL 証明書エラーなど、SSL 関連のエラーです。 | クライアント証明書が正しくありません。スマートフォンの時刻設定が正確か確認してください。 |
4 | クライアントのネットワーク接続がタイムアウトしました。このエラーは、TCP 接続が 10 秒のタイムアウト期間を超えた場合に発生します。 | ネットワーク接続が不安定です。 |
5 | データの読み書き操作がタイムアウトしました。このエラーは通常、クライアントのネットワーク速度が遅すぎる場合 (socketTimeout シナリオ) に発生します。 | ネットワーク接続が不安定です。 |
6 | クライアントがサーバーにリクエストを送信しましたが、応答を受信しませんでした (NoHttpResponseException)。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
7 | クライアントのネットワーク I/O エラーが発生しました (IOException)。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
8 | 実行スレッドが中断されたため、クライアントのネットワークリクエストのスケジューリングエラーが発生しました。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
9 | シリアル化エラー、アノテーション処理エラー、スレッド実行エラーなどを含むクライアント処理エラーです。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
10 | サーバーからのデータ形式が正しくないため、クライアントのデータ逆シリアル化エラーが発生しました。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
13 | スレッドが中断されたためにネットワークリクエストが中断された場合などの、リクエスト中断エラーです。 | ネットワークエラーです。しばらくしてからもう一度お試しください。 |
15 | クライアントのネットワーク権限付与エラーが発生しました (HttpHostConnectException: "Connection to xxx refused")。このエラーは、ネットワーク接続がないか、サーバーが接続を拒否したことを示します。 | ネットワークに接続できません。 |
16 | DNS 解析エラー | ネットワークに接続できません。しばらくしてからもう一度お試しください。 |
18 | ネットワークの速度制限です。このエラーは、クライアントのリクエストトラフィックがクライアント側の速度制限のしきい値を超えた場合にトリガーされます。 | ネットワークアクセスが制限されています。しばらくしてからもう一度お試しください。 |
code ≥ 400 and code < 500 | 4xx 台の HTTP ステータスコードです。 | ネットワークに接続できません。 |
400 > code ≥ 100 and 500 < code < 600 | 失敗した HTTP ステータスコードが返されました。 | ネットワークに接続できません。しばらくしてからもう一度お試しください。 |
iOS RPC リクエストのエラーコード
値 | ステータスコード | 意味 |
0 | kDTRpcNetworkError | ネットワークに接続できません。 重要 すべてのネットワーク障害はこのコードに分類されます。特定のエラーは userinfo を使用して渡されます。userinfo ディクショナリから対応するエラーを取得するためのキーは kDTRpcErrorCauseError です。 |
1 | kDTRpcEmptyResponse | サーバーから返されたデータが空です。 |
2 | kDTRpcInvalidJSONString | サーバーから返された JSON 文字列の形式が正しくなく、JSON オブジェクトに変換できません。 |
3 | kDTRpcDecodeObjectError | JSON オブジェクトの逆シリアル化エラーです。 |
4 | kDTRpcNetworkCancelled | ネットワークリクエストはキャンセルされました。 |
5 | kDTRpcEncodeObjectError | JSON オブジェクトのシリアル化エラーです。 |
6 | kDTRpcProtocolBuffersDecodeError | Protocol Buffers (PB) オブジェクトの逆シリアル化エラーです。 |
9 | KDTRpcSizeControlError | RPC ペイロードが大きすぎる場合、例外が直接スローされます。このエラーは呼び出し元にデリゲートされます:
|
24 | KDTRpcAbandonError | アカウント切り替え中にログイン RPC が返された後、RPC は破棄され、例外が直接スローされます。 |
3003 | / | 復号エラーです。 |