Main Content

RESTful API のエラーのトラブルシューティング

クライアントと MATLAB® Production Server™ の間の通信は HTTP 経由であるため、多くのエラーは HTTP ステータス コードで示されます。デプロイされた MATLAB 関数のエラーでは、別の形式が使用されます。詳細については、MATLAB エラーの構造を参照してください。RESTful API の使用方法を確認するには、MATLAB 関数実行のための RESTful APIを参照してください。

HTTP エラーの構造

{ 
    "error": { 
        "type": "httperror", 
        "code": 404, 
        "messageId": "ComponentNotFound", 
        "message": "Component not found." 
    } 
}

HTTP ステータス コード

400–Bad Request

メッセージ説明
Invalid inputクライアント リクエストの形式が正しくありません。
Invalid JSONクライアント リクエストに有効な JSON 表現が含まれていません。
nargout missingクライアント リクエストに、出力引数が含まれた nargout が指定されていません。
rhs missingクライアント リクエストに、入力引数が含まれた rhs が指定されていません。
Invalid rhs入力引数が MATLAB データ型の JSON 表現に従っていません。詳細については、MATLAB データ型の JSON 表現を参照してください。

403–Forbidden

メッセージ説明
The client is not authorized to access the requested componentクライアントに、リクエストを行うための正しい資格情報がありません。

404–Not Found

メッセージ説明
Function not foundサーバーが、デプロイされた CTF アーカイブ内で MATLAB 関数を見つけることができません。
Component not foundサーバーが CTF アーカイブを見つけることができません。
URI-path not of form '/APPLICATION/FUNCTION'URL の形式が正しくありません。

405–Method Not Allowed

メッセージ説明
Bad Methodメソッドが許可されていません。
Method must be POSTメソッドが許可されていません。
Unsupported methodメソッドが許可されていません。

411–Length Required

メッセージ説明
Content-length missingコンテンツの長さが不足しています。

415–Unsupported Media Type

メッセージ説明
<VALUE> is not an accepted content typeJSON のコンテンツ タイプが正しくありません。

500–Internal Server Error

メッセージ説明
Function return type not supportedサーバーにデプロイされた MATLAB 関数が、MATLAB Production Server ではサポートされていない MATLAB データ型を返しました。MATLAB Production Server でサポートされているデータ型の詳細については、MATLAB データ型の JSON 表現を参照してください。

リソースのクエリとリソースの状態

リソース / サーバーの状態

NOT_FOUND

READING

IN_QUEUE

PROCESSING

READY

ERROR

CANCELLED

DELETED / PURGED

UNKNOWN SERVER ERROR

GET $request-uri/result

404 - RequestNotFound

204 - NoContent

204 - NoContent

204 - NoContent

200 - OK

200 - OK

410 - RequestAlreadyCancelled

410 - RequestAlreadyDeleted

500 - InternalServerError

POST $request-uri/cancel

404 - RequestNotFound

204 - NoContent

204 - NoContent

204 - NoContent

410 - RequestAlreadyCompleted

410 - RequestAlreadyCompleted

410 - RequestAlreadyCancelled

410 - RequestAlreadyDeleted

500 - InternalServerError

DELETE $request-uri

404 - RequestNotFound

409 - RequestNotCompleted

409 - RequestNotCompleted

409 - RequestNotCompleted

204 - NoContent

204 - NoContent

204 - NoContent

410 - RequestAlreadyDeleted

500 - InternalServerError

MATLAB エラーの構造

MATLAB のエラーを解決するには、サーバーにデプロイされた MATLAB 関数のトラブルシューティングを行います。

{
  "error": {
  "type": "matlaberror",
    "id": error_id,
    "message": error_message,
    "stack": [
      {
        "file": file_name1, 
        "name": function_name1, 
        "line": file_line_number1
      },
      {
        "file": file_name2, 
        "name": function_name2, 
        "line": file_line_number2
       },
       ...
    ]
  }
}

Access-Control-Allow-Origin

JavaScript® を使用するクライアント プログラマは、クライアント プログラムが異なるドメインからリクエストを行う場合に、オリジン間リソース共有 (CORS) が MATLAB Production Server インスタンス上で有効になっているかどうかを確認する必要があります。CORS が有効になっていない場合、次のエラー メッセージが表示される可能性があります。

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

CORS を有効化する方法の詳細については、cors-allowed-originsを参照してください。

関連するトピック