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 type | JSON のコンテンツ タイプが正しくありません。 |
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 |
|
|
|
|
|
|
|
|
|
POST |
|
|
|
|
|
|
|
|
|
DELETE |
|
|
|
|
|
|
|
|
|
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を参照してください。