2.10.3 フォルト電文フォーマットを修正する
gRPC受付では,gRPCのメッセージ内容※に沿ったフォルト電文フォーマットを提供しています。このフォルト電文フォーマット(XMLスキーマファイル)は,gRPC受付を作成したときに,ユーザ定義受付定義画面(基本)のフォルト電文フォーマットに自動的に設定されます。
- 注※
-
gRPCを利用した通信では,google.rpc.Statusのメッセージの処理方式によってエラー処理を行っています。google.rpc.Statusのメッセージ内容,およびエラー処理については,Google社のgoogle.rpc.Statusに関するサイトを参照してください。
gRPC受付を作成したあと,必要に応じてフォルト電文フォーマットのXMLスキーマファイルを修正し,再登録できます。再登録することで,XMLスキーマファイルの記述を簡略化できます。
(1) フォルト電文フォーマットを修正する手順
XMLスキーマファイルを修正する手順を次に示します。
-
次のXMLスキーマファイルを任意の場所にコピーします。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\gRPC\schema\urecp_grpc_fault.xsd
-
コピーしたXMLスキーマファイルをテキストエディタで開きます。
-
XMLスキーマファイルに定義されている,/fault/status/details要素以下に定義されている次の要素のうち,使用しない要素を削除します。
-
retry-info
-
debug-info
-
quota-failure
-
error-info
-
precondition-failure
-
bad-request
-
request-info
-
resource-info
-
help
-
localized-message
-
additional-message
処理に必要な要素を削除した場合の動作は保証されません。
これらの要素は,Google社が提供するgoogle/rpc/error_details.protoの内容に対応しています。google/rpc/error_details.protoの内容については,Google社のgoogle/rpc/error_details.protoに関するサイトを参照してください。
なお,additional-messageは,google/rpc/error_details.protoに定義されていない任意の型のメッセージを格納する場合に使用します。
-
-
使用しない要素(子要素を含む)を削除したXMLスキーマファイルを保存します。
-
修正したXMLスキーマファイルを,ユーザ定義受付定義画面(基本)の[フォルト電文]に設定します。
修正したXMLスキーマファイル以外を設定した場合,動作は保証されません。
(2) フォルト電文フォーマットの形式
gRPC受付のフォルト電文フォーマットの形式について説明します。
名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/grpc/fault」です。
タグ名 |
種別 |
出現回数 |
説明 |
|||||
---|---|---|---|---|---|---|---|---|
<fault> |
− |
1回 |
− |
|||||
<status> |
− |
1回 |
ステータス情報を指定します。 |
|||||
<code> |
文字列 |
1回 |
ステータスコード※を指定します。 |
|||||
<message> |
文字列 |
0〜1回 |
開発者向けのエラーメッセージを指定します。 設定値は英字で設定してください。英字以外の値を指定した場合の動作は保証されません。 |
|||||
<details> |
− |
0〜1回 |
詳細エラーのメッセージのリストを指定します。子要素として「error_details.proto」のメッセージ構造体に応じた要素が出現します。 |
|||||
<retry-info> |
− |
0回以上 |
メッセージ構造体「RetryInfo」の定義内容を指定します。 |
|||||
<retry-delay> |
文字列 |
0〜1回 |
引数「retry_delay」が設定されます。 |
|||||
<seconds> |
文字列 |
0〜1回 |
引数「retry_delay」の秒を指定します。 設定値は「-315,576,000,000〜315,576,000,000」の範囲で指定してください。 |
|||||
<nanos> |
文字列 |
0〜1回 |
引数「retry_delay」のナノ秒を指定します。設定値は「-999,999,999〜999,999,999」の範囲で指定してください。 |
|||||
<debug-info> |
− |
0回以上 |
メッセージ構造体「DebugInfo」の定義内容を指定します。 |
|||||
<stack-entries> |
文字列 |
0回以上 |
引数「stack_entries」が設定されます。 |
|||||
<detail> |
文字列 |
0〜1回 |
引数「detail」が設定されます。 |
|||||
<quota-failure> |
− |
0回以上 |
メッセージ構造体「QuotaFailure」の定義内容を指定します。 |
|||||
<violation> |
− |
0回以上 |
メッセージ構造体「Violation」の定義内容を指定します。 |
|||||
<subject> |
文字列 |
0〜1回 |
引数「subject」が設定されます。 |
|||||
<description> |
文字列 |
0〜1回 |
引数「description」が設定されます。 |
|||||
<error-info> |
− |
0回以上 |
メッセージ構造体「ErrorInfo」の定義内容を指定します。 |
|||||
<reason> |
文字列 |
0〜1回 |
引数「reason」を指定します。 設定値は,63文字以内の「A-Z」「0-9」「_」の範囲の文字列を指定してください。範囲外の値を指定した場合の動作は保証されません。 |
|||||
<domain> |
文字列 |
0〜1回 |
引数「domain」が設定されます。 |
|||||
<metadata> |
− |
0回以上 |
引数「metadata」が設定されます。 |
|||||
<key> |
文字列 |
1回 |
メタデータのキーを指定します。キーの省略(空文字含む)はできません。 設定値は,64文字以内の「a-z」「A-Z」「0-9」「-」「_」の範囲の文字列を指定してください。範囲外の値を指定した場合の動作は保証されません。 |
|||||
<value> |
文字列 |
1回 |
メタデータの値を指定します。 |
|||||
<precondition-failure> |
− |
0回以上 |
メッセージ構造体「PreconditionFailure」の定義内容を指定します。 |
|||||
<violation> |
− |
0回以上 |
メッセージ構造体「Violation」の定義内容を指定します。 |
|||||
<type> |
文字列 |
0〜1回 |
引数「type」が設定されます。 |
|||||
<subject> |
文字列 |
0〜1回 |
引数「subject」が設定されます。 |
|||||
<description> |
文字列 |
0〜1回 |
引数「description」が設定されます。 |
|||||
<bad-request> |
− |
0回以上 |
メッセージ構造体「BadRequest」の定義内容を指定します。 |
|||||
<field-violation> |
− |
0回以上 |
メッセージ構造体「FieldViolation」の定義内容を指定します。 |
|||||
<field> |
文字列 |
0〜1回 |
引数「field」が設定されます。 |
|||||
<description> |
文字列 |
0〜1回 |
引数「description」が設定されます。 |
|||||
<request-info> |
− |
0回以上 |
メッセージ構造体「RequestInfo」の定義内容を指定します。 |
|||||
<request-id> |
文字列 |
0〜1回 |
引数「request_id」が設定されます。 |
|||||
<serving-data> |
文字列 |
0〜1回 |
引数「serving_data」が設定されます。 |
|||||
<resource-info> |
− |
0回以上 |
メッセージ構造体「ResourceInfo」の定義内容を指定します。 |
|||||
<resource-type> |
文字列 |
0〜1回 |
引数「resource_type」が設定されます。 |
|||||
<resource-name> |
文字列 |
0〜1回 |
引数「resource_name」が設定されます。 |
|||||
<owner> |
文字列 |
0〜1回 |
引数「owner」が設定されます。 |
|||||
<description> |
文字列 |
0〜1回 |
引数「description」が設定されます。 |
|||||
<help> |
− |
0回以上 |
メッセージ構造体「Help」の定義内容を指定します。 |
|||||
<link> |
− |
0回以上 |
メッセージ構造体「Link」の定義内容を指定します。 |
|||||
<description> |
文字列 |
0〜1回 |
引数「description」が設定されます。 |
|||||
<url> |
文字列 |
0〜1回 |
引数「url」が設定されます。 |
|||||
<localized-message> |
− |
0回以上 |
メッセージ構造体「LocalizedMessage」の定義内容を指定します。 |
|||||
<locale> |
文字列 |
0〜1回 |
引数「locale」を指定します。 設定値は,IETFのBCP47に準拠してください。IETFのBCP47に準拠していない場合の動作は保証されません。 |
|||||
<message> |
文字列 |
0〜1回 |
引数「message」が設定されます。 |
|||||
<additional-message> |
− |
0回以上 |
「error_details.proto」のメッセージ構造体に定義されていないメッセージの定義内容を指定します。Any型のメッセージとして扱われます。 |
|||||
<type-url> |
文字列 |
1回 |
メッセージのタイプ(URL/resource name)を指定します。 |
|||||
<value> |
文字列 |
1回 |
メッセージの値をBase64エンコードしたデータを指定します。 |
|||||
<metadata> |
− |
0回以上 |
gRPCクライアントに送信するメタデータを指定します。 |
|||||
<key> |
文字列 |
1回 |
gRPCクライアントに送信するメタデータのキーを指定します。キーの省略(空文字含む)はできません。 バイナリ形式で送信する場合,この要素値は「-bin」で終了してください。 |
|||||
<value> |
文字列 |
1回 |
メタデータのキーに対する値を指定します。 テキスト形式の場合,0x20および0x21-0x7Eの範囲の文字列が指定できます。ただし,空白(0x20)を値の最初または最後に置くことはできません。 指定できない値を指定した場合の動作は保証されません。 バイナリ形式の場合,Base64でエンコードした値を設定します。 |
- (凡例)
-
−:該当しません。
- 注※
-
フォルト電文に設定できるステータスコードを次に示します。次に示すステータスコード以外の値が設定された場合,リクエストがエラーとなります。
・CANCELLED
・UNKNOWN
・INVALID_ARGUMENT
・DEADLINE_EXCEEDED
・NOT_FOUND
・ALREADY_EXISTS
・PERMISSION_DENIED
・RESOURCE_EXHAUSTED
・FAILED_PRECONDITION
・ABORTED
・OUT_OF_RANGE
・UNIMPLEMENTED
・INTERNAL
・UNAVAILABLE
・DATA_LOSS
・UNAUTHENTICATED