Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere Web サービス

 

エラー処理

Web サービス要求に失敗した場合、データベース・サーバが標準エラーを生成してブラウザに表示します。これらのエラーには、プロトコル標準と一貫性のある番号が割り当てられています。

サービスが SOAP サービスである場合、SOAP バージョン 1.1 標準で定義されているように、フォールトはクライアントに対して SOAP フォールトとして返されます。

  • 要求を処理するアプリケーションのエラーによって SQLCODE が生成されると、クライアントの faultcode により SOAP フォールトが返されます。その場合、Procedure などのサブカテゴリが含まれることもあります。SOAP フォールト内の faultstring 要素には、エラーの詳しい説明が設定され、detail 要素には、数値の SQLCODE 値が指定されます。

  • トランスポート・プロトコル・エラーが発生した場合、faultcode はエラーに応じて Client または Server に設定され、faultstring には「404 Not Found」などの HTTP トランスポート・メッセージが設定され、detail 要素には数値の HTTP エラー値が設定されます。

  • SQLCODE 値を返すアプリケーション・エラーのために生成された SOAP フォールト・メッセージは、「200 OK」という HTTP ステータスで返されます。

クライアントを SOAP クライアントとして識別できない場合は、生成された HTML ドキュメントで適切な HTTP エラーが返されます。

発生する可能性のある一般的なエラーは次のとおりです。

番号 名前 SOAP フォールト 説明
301 Moved permanently Server 要求されたページは永続的に移動されました。サーバは、自動的に新しいロケーションに要求をリダイレクトします。
304 Not Modified Server サーバは、要求の情報に基づき、要求されたデータは前回の要求の後変更されていないため、再度送信する必要はないと判断しました。
307 Temporary Redirect Server 要求されたページは移動されましたが、この変更は永続的なものではない可能性があります。サーバは、自動的に新しいロケーションに要求をリダイレクトします。
400 Bad Request Client.BadRequest

HTTP 要求が正しくないか不正です。

401 Authorization Required Client.Authorization

サービスを使用するのに認証が必要ですが、有効なユーザ名とパスワードが入力されていません。

403 Forbidden Client.Forbidden

データベースにアクセスするパーミッションがありません。

404 Not Found Client.NotFound

指定したデータベースがサーバで実行されていないか、指定した Web サービスが存在しません。

408 Request Timeout Server.RequestTimeout

要求の受信中に最大接続アイドル時間が超過しました。

411 HTTP Length Required Client.LengthRequired サーバは、クライアントが要求に Content-Length の指定を含めることを必要とします。通常、このエラーはデータをサーバにアップロードしているときに発生します。
413 Entity Too Large Server

要求が最大許可サイズを超過しました。

414 URI Too Large Server

URI の長さが最大長を超過しました。

500 Internal Server Error Server

内部エラーが発生しました。要求が処理できませんでした。

501 Not Implemented Server

HTTP 要求メソッドが GET、HEAD、または POST ではありません。

502 Bad Gateway Server 要求されたドキュメントがサードパーティのサーバにあり、サーバがサードパーティのサーバからエラーを受け取りました。
503 Service Unavailable Server

接続数が最大数を超過しました。