Request-Line = Method SP Handle SP Frame SP CATP-Version SP Request-Code SP Request-Phrase CRLF
(1) Method
Method = "SERVERPROCEDURECALL"
(2) Handle
GETHANDLEリクエストによって取得したハンドルを指定する。
(3) Frame
フレームには3桁の任意の数字を指定する。但し、このフレームの値はサーバにて参照されない。
(4) CATP-Version
クライアントがサポートしている最新のCATPバージョンを指定する。
(5) Request-Code
リクエストコードは、リクエストを表すコードである数字3桁の0を指定する。
Request-Code = "000" ; 数字3桁の0
(6) Request-Phrase
リクエストの説明句として、下記のトークンを指定する。
Request-Phrase = "REQUEST"
Request-Header = Procedure-name *Argument
(1) Procedure-name
サーバのプロシジャ名を指定する。
Procedure-name = "Procedure-name"":"Name CRLF Name = token
(2) Argument
Procedure-nameで示されるプロシジャに渡す引数を指定する。
尚、引数の定義はサーバの実装による。
オブジェクトボディのレングスを指定する。
オブジェクトボディのエンコーディング方式を指定する。オブジェクトボディが存在しない場合は省略しても良い。
Procedure-nameで示されるプロシジャに渡すオブジェクトボディを指定する。
尚、オブジェクトボディの定義はサーバの実装による。
Status-Line = Method SP Handle SP Frame SP CATP-Version SP Status-Code SP Reason-Phrase CRLF
(1) Method
メソッドはクライアントがリクエストラインに指定したメソッドと同じものを指定する。
(2) Handle
ハンドルはクライアントがリクエストラインに指定したハンドルと同じものを指定する。
(3) Frame
フレームはクライアントがリクエストラインに指定したフレームと同じものを指定する。
(4) CATP-Version
CATPバージョンは、サーバで使用されるプロトコールのバージョンを指定する。クライアントがリクエストラインで指定したCATPバージョンが、サーバがサポートしているバージョンよりも古い場合、サーバはそのバージョンをサポートしていることが望まれる。その場合クライアント指定のCATPバージョンをステータスラインに指定する。
(5) Status-CodeとReason-Phrase
サーバでのリクエストに対する処理結果を意味する。各コードの詳細並びにReason-Phraseはサーバの実装による。尚、処理結果とはリクエストされたプロシジャの実行結果ではない。それを起動しようとした試みに対する結果である。
2xx : 成功本メソッドがサーバにおいて正常に処理されたことを意味する。
4xx : クライアントエラーリクエストに間違った構文があるか、実行がもともと不可能である。
5xx : サーバエラーサーバはリクエストを遂行できなかったことを意味する。
Response-Header = *Response-info
(1) Response-info
プロシジャ名で示されるプロシジャのレスポンス情報を指定する。
尚、レスポンス情報の定義はサーバの実装による。
(1) Content-Length
オブジェクトボディのレングスを指定する。
オブジェクトボディのエンコーディング方式を指定する。オブジェクトボディが存在しない場合は省略しても良い。
オブジェクトボディにはリクエストされたプロシジャの実行結果、または診断レコードを設定する。
Object-Body = Diagnostic-record | Procedure-result-record
尚、Procedure-result-recordの定義はサーバの実装による。