このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントはこちらをご覧ください。
AccessControl ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 |
クライアント IP アドレス、または API リクエストで渡された IP アドレスが、Access Control ポリシーの <MatchRule> 要素内の <SourceAddress> 要素で指定された IP アドレスと一致し、<MatchRule> 要素の action 属性が DENY に設定されています。 |
build |
accesscontrol.InvalidIPAddressInVariable |
500 |
<ClientIPVariable> のフロー変数に無効な IP アドレスが含まれています。 |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーに固有の変数をご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | acl.AC-AllowAccess.failed = true |
障害レスポンスの例
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"steps.accesscontrol.IPDeniedAccess" } } }
障害ルールの例
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
AccessEntity ポリシー
関連情報については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
なし。
デプロイエラー
エラー名 | 障害文字列 | HTTP ステータス | 発生条件 |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
なし | 使用するエンティティ タイプをサポートされているタイプのいずれかにする必要があります。 |
AssignMessage ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 |
ポリシーが変数を設定できませんでした。未解決の変数の名前については、障害文字列をご覧ください。 | |
steps.assignmessage.VariableOfNonMsgType |
500 |
このエラーは、 メッセージ型の変数は HTTP リクエストとレスポンス全体を表します。組み込みの Apigee フロー変数 |
build |
steps.assignmessage.UnresolvedVariable |
500 |
このエラーは、AssignMessage ポリシーで指定された変数が次のいずれかの場合に発生します。
|
build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidIndex |
AssignMessage ポリシーの <Copy> 要素または <Remove> 要素で指定されたインデックスが 0 または負の数の場合、API プロキシのデプロイに失敗します。 |
build |
InvalidVariableName |
子要素 <Name> が空か、<AssignVariable> 要素で指定されていない場合は、値を割り当てる有効な変数名が存在しないため、API プロキシのデプロイに失敗します。有効な変数名は必須です。 |
build |
InvalidPayload |
ポリシーで指定されたペイロードが無効です。 |
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "UnresolvedVariable" |
assignmessage.POLICY_NAME.failed |
POLICY_NAME は、障害が発生したポリシーのユーザー指定の名前です。 | assignmessage.AM-SetResponse.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
障害ルールの例
<FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
BasicAuthentication ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、エラーに対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 |
デコードで、Base64 エンコードされた文字列に有効な値が含まれていない場合、またはヘッダーの形式が正しくない場合(たとえば、Basic で始まっていない場合)。 |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
デコードまたはエンコードに必要なソース変数が存在しません。このエラーは、IgnoreUnresolvedVariables が false の場合にのみ発生する可能性があります。 |
build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 発生条件 | 修正 |
---|---|---|
UserNameRequired |
名前付きオペレーションに <User> 要素が存在する必要があります。 |
build |
PasswordRequired |
名前付きオペレーションに <Password> 要素が存在する必要があります。 |
build |
AssignToRequired |
名前付きオペレーションに <AssignTo> 要素が存在する必要があります。 |
build |
SourceRequired |
名前付きオペレーションに <Source> 要素が存在する必要があります。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | BasicAuthentication.BA-Authenticate.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
障害ルールの例
<FaultRule name="Basic Authentication Faults"> <Step> <Name>AM-UnresolvedVariable</Name> <Condition>(fault.name Matches "UnresolvedVariable") </Condition> </Step> <Step> <Name>AM-AuthFailedResponse</Name> <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition> </Step> <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition> </FaultRule>
DecodeJWS ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 発生条件 |
---|---|---|
steps.jws.FailedToDecode |
401 |
ポリシーで JWS をデコードできなかった場合。JWS が破損している可能性があります。 |
steps.jws.FailedToResolveVariable |
401 |
ポリシーの <Source> 要素で指定されたフロー変数が存在しない場合に発生します。 |
steps.jws.InvalidClaim |
401 |
クレームが欠落しているか、一致していない場合。または、ヘッダーが欠落しているか、一致していない場合。 |
steps.jws.InvalidJsonFormat |
401 |
JWS ヘッダーで無効な JSON が検出された場合。 |
steps.jws.InvalidJws |
401 |
JWS 署名の検証で不合格だった場合。 |
steps.jws.InvalidPayload |
401 |
JWS ペイロードが無効な場合。 |
steps.jws.InvalidSignature |
401 |
<DetachedContent> が省略され、JWS に分離されたコンテンツ ペイロードがある場合。 |
steps.jws.MissingPayload |
401 |
JWS ペイロードが欠落している場合。 |
steps.jws.NoAlgorithmFoundInHeader |
401 |
JWS がアルゴリズム ヘッダーを省略すると発生します。 |
steps.jws.UnknownException |
401 |
不明な例外が発生した場合。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 発生条件 |
---|---|
InvalidAlgorithm |
有効な値: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 |
|
発生の可能性があるその他のデプロイエラー。 |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "TokenExpired" |
JWS.failed |
障害の場合は、すべての JWS ポリシーで同じ変数が設定されます。 | jws.JWS-Policy.failed = true |
エラー レスポンスの例
ベスト プラクティスとして、エラー処理でエラー レスポンスの errorcode
の部分をトラップすることをおすすめします。faultstring
のテキストには依存しないでください。この部分は変更される可能性があります。
障害ルールの例
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
DecodeJWT ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.jwt.FailedToDecode |
401 |
ポリシーが JWT をデコードできない場合に発生します。JWT が無効か、形式が正しくないか、それ以外の理由でデコードできない可能性があります。 | build |
steps.jwt.FailedToResolveVariable |
401 |
ポリシーの <Source> 要素で指定されたフロー変数が存在しない場合に発生します。 |
|
steps.jwt.InvalidToken |
401 |
ポリシーの <Source> 要素で指定されたフロー変数が範囲外であるか、解決できない場合に発生します。 |
build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidEmptyElement |
デコードする JWT を含むフロー変数が、ポリシーの <Source> 要素で指定されていない場合に発生します。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "InvalidToken" |
JWT.failed |
障害の場合、すべての JWT ポリシーで同じ変数が設定されます。 | JWT.failed = true |
エラー レスポンスの例
ベスト プラクティスとして、エラー処理では、エラー レスポンスの errorcode
の部分をトラップすることをおすすめします。faultstring
のテキストには依存しないでください。この部分は変更される可能性があります。
障害ルールの例
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
ExtractVariables ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
このエラーは、次の場合に発生します。
|
build |
steps.extractvariables.ImmutableVariable |
500 |
ポリシーで使用されている変数は不変です。ポリシーでこの変数を設定できませんでした。 | なし |
steps.extractvariables.InvalidJSONPath |
500 |
このエラーは、ポリシーの JSONPath 要素で無効な JSON パスが使用されている場合に発生します。たとえば、JSON ペイロードにオブジェクト Name がない場合、ポリシー内のパスとして Name を指定すると、このエラーが発生します。 |
build |
steps.extractvariables.JsonPathParsingFailure |
500 |
このエラーは、ポリシーが JSON パスを解析できず、Source 要素で指定されたフロー変数からデータを抽出できない場合に発生します。これは通常、Source 要素で指定されたフロー変数が現在のフローに存在しない場合に発生します。 |
build |
steps.extractvariables.SetVariableFailed |
500 |
このエラーは、ポリシーが変数に値を設定できなかった場合に発生します。このエラーは通常、名前が同じ単語で始まる複数の変数に、ネストされたドット区切り形式の値を割り当てようとすると発生します。 | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
このエラーは、ポリシーの Source 要素で指定された message 変数が、次のいずれかである場合に発生します。
|
build |
steps.extractvariables.UnableToCast |
500 |
このエラーは、ポリシーが抽出された値を変数にキャストできなかった場合に発生します。これは通常、あるデータ型の値を別のデータ型の変数に設定しようとすると発生します。 | build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
NothingToExtract |
ポリシーに URIPath 、QueryParam 、Header 、FormParam 、XMLPayload 、JSONPayload のいずれの要素も含まれていない場合、抽出するものがないため、API プロキシのデプロイに失敗します。 |
build |
NONEmptyPrefixMappedToEmptyURI |
このエラーは、ポリシーで XMLPayload 要素の下の Namespace 要素に接頭辞が定義されていても URI が定義されていない場合に発生します。 |
build |
DuplicatePrefix |
このエラーは、ポリシーで、XMLPayload 要素の下の Namespace 要素で同じ接頭辞が複数回定義されている場合に発生します。 |
build |
NoXPathsToEvaluate |
ポリシーの XMLPayload 要素内に XPath 要素がない場合、API プロキシのデプロイがこのエラーで失敗します。 |
build |
EmptyXPathExpression |
ポリシーの XMLPayload 要素内に空の XPath 式があると、API プロキシのデプロイが失敗します。 |
build |
NoJSONPathsToEvaluate |
ポリシーの JSONPayload 要素内に JSONPath 要素がない場合、API プロキシのデプロイがこのエラーで失敗します。 |
build |
EmptyJSONPathExpression |
ポリシーの XMLPayload 要素内に空の XPath 式があると、API プロキシのデプロイが失敗します。 |
build |
MissingName |
ポリシーの QueryParam 、Header 、FormParam 、Variable などのポリシー要素のいずれかに、必要な name 属性が含まれていない場合、API プロキシのデプロイが失敗します。 |
build |
PatternWithoutVariable |
ポリシーの Pattern 要素内に変数が指定されていない場合、API プロキシのデプロイが失敗します。Pattern 要素には、抽出されたデータを格納するための変数の名前が必要です。 |
build |
CannotBeConvertedToNodeset |
ポリシーに、Variable 型が nodeset として定義されている XPath 式があるが、式を nodeset に変換できない場合、API プロキシのデプロイが失敗します。 |
build |
JSONPathCompilationFailed |
ポリシーが指定の JSON パスをコンパイルできませんでした。 | なし |
InstantiationFailed |
ポリシーをインスタンス化できませんでした。 | なし |
XPathCompilationFailed |
XPath 要素で使用される接頭辞や値がポリシーで宣言された名前空間の一部でない場合、API プロキシのデプロイが失敗します。 |
build |
InvalidPattern |
Pattern 要素の定義が、ポリシー内の URIPath 、QueryParam 、Header 、FormParam 、XMLPayload 、JSONPayload などの要素のいずれかで無効である場合、API プロキシのデプロイが失敗します。 |
build |
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | extractvariables.EV-ParseJsonResponse.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
障害ルールの例
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
GenerateJWS ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 発生条件 |
---|---|---|
steps.jws.GenerationFailed |
401 |
ポリシーで JWS を生成できなかった場合。 |
steps.jws.InsufficientKeyLength |
401 |
HS256 アルゴリズムの鍵が 32 バイト未満の場合。 |
steps.jws.InvalidClaim |
401 |
クレームが欠落しているか、一致していない場合。または、ヘッダーが欠落しているか、一致していない場合。 |
steps.jws.InvalidCurve |
401 |
鍵で指定された曲線が、楕円曲線アルゴリズムでは無効な場合。 |
steps.jws.InvalidJsonFormat |
401 |
JWS ヘッダーで無効な JSON が検出された場合。 |
steps.jws.InvalidPayload |
401 |
JWS ペイロードが無効な場合。 |
steps.jws.InvalidSignature |
401 |
<DetachedContent> が省略され、JWS に分離されたコンテンツ ペイロードがある場合。 |
steps.jws.KeyIdMissing |
401 |
Verify ポリシーが公開鍵のソースとして JWKS を使用しているが、署名付き JWS のヘッダーに kid プロパティが含まれてない場合。 |
steps.jws.KeyParsingFailed |
401 |
指定された鍵情報で公開鍵を解析できない場合。 |
steps.jws.MissingPayload |
401 |
JWS ペイロードが欠落している場合。 |
steps.jws.NoAlgorithmFoundInHeader |
401 |
JWS がアルゴリズム ヘッダーを省略すると発生します。 |
steps.jws.SigningFailed |
401 |
GenerateJWS で、HS384 または HS512 アルゴリズムの鍵が最小サイズより小さい場合。 |
steps.jws.UnknownException |
401 |
不明な例外が発生した場合。 |
steps.jws.WrongKeyType |
401 |
鍵のタイプが正しくない場合。たとえば、楕円曲線アルゴリズムで RSA 鍵を指定した場合や、RSA アルゴリズムで曲線鍵を指定した場合など。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 発生条件 |
---|---|
InvalidAlgorithm |
有効な値: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 |
|
発生の可能性があるその他のデプロイエラー。 |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "TokenExpired" |
JWS.failed |
障害の場合は、すべての JWS ポリシーで同じ変数が設定されます。 | jws.JWS-Policy.failed = true |
エラー レスポンスの例
ベスト プラクティスとして、エラー処理でエラー レスポンスの errorcode
の部分をトラップすることをおすすめします。faultstring
のテキストには依存しないでください。この部分は変更される可能性があります。
障害ルールの例
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
GenerateJWT ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 発生条件 |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
検証ポリシーに複数のアルゴリズムがある場合。 |
steps.jwt.AlgorithmMismatch |
401 |
Generate ポリシーで指定されたアルゴリズムが、Verify ポリシーで想定されているアルゴリズムと一致しない場合。指定されたアルゴリズムが一致している必要があります。 |
steps.jwt.EncryptionFailed |
401 |
暗号化された JWT の作成が特定の理由で失敗した場合 |
steps.jwt.FailedToDecode |
401 |
ポリシーで JWT をデコードできなかった場合。JWT が破損している可能性があります。 |
steps.jwt.GenerationFailed |
401 |
ポリシーで JWT を生成できなかった場合。 |
steps.jwt.InsufficientKeyLength |
401 |
HS256 アルゴリズムで鍵が 32 バイト未満の場合、HS386 アルゴリズムで鍵が 48 バイト未満の場合、HS512 アルゴリズムで鍵が 64 バイト未満の場合。 |
steps.jwt.InvalidClaim |
401 |
クレームが欠落しているか、一致していない場合。または、ヘッダーが欠落しているか、一致していない場合。 |
steps.jwt.InvalidConfiguration |
401 |
<Algorithm> 要素と <Algorithms> 要素の両方が存在する場合。 |
steps.jwt.InvalidCurve |
401 |
鍵で指定された曲線が、楕円曲線アルゴリズムでは無効な場合。 |
steps.jwt.InvalidJsonFormat |
401 |
ヘッダーまたはペイロードで無効な JSON が検出された場合。 |
steps.jwt.InvalidPasswordKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidPrivateKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidPublicKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidSecretKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidToken |
401 |
JWT 署名の検証で不合格だった場合。 |
steps.jwt.JwtAudienceMismatch |
401 |
トークンの検証でオーディエンス クレームが不合格だった場合。 |
steps.jwt.JwtIssuerMismatch |
401 |
トークンの検証で発行元クレームが不合格だった場合。 |
steps.jwt.JwtSubjectMismatch |
401 |
トークンの検証でサブジェクト クレームが不合格だった場合。 |
steps.jwt.KeyIdMissing |
401 |
Verify ポリシーが公開鍵のソースとして JWKS を使用しているが、署名付き JWT のヘッダーに kid プロパティが含まれてない場合。 |
steps.jwt.KeyParsingFailed |
401 |
指定された鍵情報で公開鍵を解析できない場合。 |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
JWT にアルゴリズム ヘッダーが含まれていない場合。 |
steps.jwt.NoMatchingPublicKey |
401 |
Verify ポリシーが JWKS を公開鍵のソースとして使用するが、署名付き JWT の kid が JWKS にリストされていない場合。 |
steps.jwt.SigningFailed |
401 |
GenerateJWT で、HS384 または HS512 アルゴリズムの鍵が最小サイズより小さい場合。 |
steps.jwt.TokenExpired |
401 |
ポリシーが期限切れのトークンを検証しようとしている場合。 |
steps.jwt.TokenNotYetValid |
401 |
トークンがまだ有効になっていない場合。 |
steps.jwt.UnhandledCriticalHeader |
401 |
crit ヘッダーの Verify JWT ポリシーで見つかったヘッダーが KnownHeaders にリストされていない場合。 |
steps.jwt.UnknownException |
401 |
不明な例外が発生した場合。 |
steps.jwt.WrongKeyType |
401 |
鍵のタイプが正しくない場合。たとえば、楕円曲線アルゴリズムで RSA 鍵を指定した場合や、RSA アルゴリズムで曲線鍵を指定した場合など。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidNameForAdditionalClaim |
<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの型が登録済みの名前(kid 、iss 、sub 、aud 、iat 、exp 、nbf 、jti )のいずれかである場合、デプロイが失敗します。 |
build |
InvalidTypeForAdditionalClaim |
<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームが string 、number 、boolean 、map 型でない場合、デプロイが失敗します。 |
build |
MissingNameForAdditionalClaim |
<AdditionalClaims> 要素の子要素 <Claim> でクレームの名前が指定されていない場合、デプロイが失敗します。 |
build |
InvalidNameForAdditionalHeader |
このエラーは、<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの名前が alg または typ の場合に発生します。 |
build |
InvalidTypeForAdditionalHeader |
<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの型が string 、number 、boolean 、map 型でない場合、デプロイが失敗します。 |
build |
InvalidValueOfArrayAttribute |
このエラーは、<AdditionalClaims> 要素の子要素 <Claim> 内の配列属性の値が true または false に設定されていない場合に発生します。 |
build |
InvalidConfigurationForActionAndAlgorithm |
<PrivateKey> 要素が HS ファミリー アルゴリズムで使用されている場合、または <SecretKey> 要素が RSA ファミリー アルゴリズムで使用されている場合、デプロイが失敗します。 |
build |
InvalidValueForElement |
<Algorithm> 要素に指定された値がサポートされていない場合、デプロイが失敗します。 |
build |
MissingConfigurationElement |
このエラーは、<PrivateKey> 要素が RSA ファミリー アルゴリズムで使用されていない場合や、<SecretKey> 要素が HS ファミリー アルゴリズムで使用されていない場合に発生します。 |
build |
InvalidKeyConfiguration |
子要素 <Value> が <PrivateKey> 要素または <SecretKey> 要素で定義されていない場合、デプロイが失敗します。 |
build |
EmptyElementForKeyConfiguration |
<PrivateKey> 要素または <SecretKey> 要素の子要素 <Value> の ref 属性が空か、指定されていない場合、デプロイが失敗します。 |
build |
InvalidVariableNameForSecret |
このエラーは、<PrivateKey> 要素や <SecretKey> 要素の子要素 <Value> の ref 属性で指定されたフロー変数名に、非公開の接頭辞 (private.) が含まれていない場合に発生します。 |
build |
InvalidSecretInConfig |
このエラーは、<PrivateKey> 要素または <SecretKey> 要素の子要素 <Value> に非公開の接頭辞 (private.) が含まれていない場合に発生します。 |
build |
InvalidTimeFormat |
<NotBefore> 要素に指定された値がサポートされている形式でない場合、デプロイは失敗します。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "InvalidToken" |
JWT.failed |
障害の場合、すべての JWT ポリシーで同じ変数が設定されます。 | JWT.failed = true |
エラー レスポンスの例
ベスト プラクティスとして、エラー処理では、エラー レスポンスの errorcode
の部分をトラップすることをおすすめします。faultstring
のテキストには依存しないでください。この部分は変更される可能性があります。
障害ルールの例
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
JavaCallout ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.javacallout.ExecutionError |
500 |
JavaCallout policy の実行中に Java コードが例外を出力するか null を返す場合に発生します。 |
build |
デプロイエラー
これらのエラーは、ポリシーを含むプロキシがデプロイされているときに発生することがあります。
エラー名 | 障害文字列 | HTTP ステータス | 発生条件 |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
該当なし | <ResourceURL> 要素で指定されたファイルが存在しません。 |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
該当なし | <ClassName> 要素で指定されたクラスファイルが jar 内にありません。 |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
該当なし | 障害文字列をご覧ください。サポートされる Java のバージョンは、Oracle JDK 7/8 と OpenJDK 7/8 です。 |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
該当なし | 障害文字列をご覧ください。 |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
該当なし | 障害文字列をご覧ください。 |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
該当なし | 障害文字列をご覧ください。 |
NoResourceForURL |
Could not locate a resource with URL [string] |
該当なし | 障害文字列をご覧ください。 |
障害変数
このポリシーがエラーをトリガーした場合は、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | javacallout.JC-GetUserData.failed = true |
エラー レスポンスの例
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
障害ルールの例
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
JavaScript ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、および Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 |
JavaScript ポリシーは、さまざまな種類の ScriptExecutionFailed エラーをスローできます。よくあるエラーとしては、RangeError、ReferenceError、SyntaxError、TypeError、URIError などがあります。 |
build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 |
JavaScript コードでエラーが発生しました。詳しくは、障害文字列をご覧ください。 |
なし |
steps.javascript.ScriptSecurityError |
500 |
JavaScript の実行時にセキュリティ エラーが発生しました。詳しくは、障害文字列をご覧ください。 |
なし |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidResourceUrlFormat |
JavaScript ポリシーの <ResourceURL> または <IncludeURL> 要素で指定されたリソース URL の形式が無効な場合、API プロキシのデプロイに失敗します。 |
build |
InvalidResourceUrlReference |
<ResourceURL> または <IncludeURL> 要素が存在しない JavaScript ファイルを参照する場合、API プロキシのデプロイに失敗します。参照先のソースファイルが API プロキシ、環境、組織レベルのいずれかに存在している必要があります。 |
build |
WrongResourceType |
このエラーは、デプロイ中に JavaScript ポリシーの <ResourceURL> 要素または <IncludeURL> 要素が jsc(JavaScript ファイル)以外のリソースタイプを参照している場合に発生します。 |
build |
NoResourceURLOrSource |
<ResourceURL> 要素が宣言されていない場合、またはこの要素内にリソース URL が定義されていない場合、JavaScript ポリシーのデプロイがこのエラーで失敗する可能性があります。<ResourceURL> 要素は必須の要素です。また、<IncludeURL> 要素が宣言されていて、この要素内にリソース URL が定義されていない場合にも発生することがあります。<IncludeURL> 要素は省略可能ですが、宣言した場合は、リソース URL を <IncludeURL> 要素内に指定する必要があります。 |
build |
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | javascript.JavaScript-1.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
障害ルールの例
<FaultRule name="JavaScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(javascript.JavaScript-1.failed = true) </Condition> </FaultRule>
JSONThreatProtection ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 |
JSONThreatProtection ポリシーは、さまざまな種類の ExecutionFailed エラーをスローできます。エラーのほとんどは、ポリシーで設定された特定のしきい値を超えた場合に発生します。これらのエラーには、オブジェクト エントリ名の長さ、オブジェクト エントリ数、配列要素数、コンテナの深さ、文字列値の長さなどがあります。このエラーは、ペイロードに無効な JSON オブジェクトが含まれている場合にも発生します。 |
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
このエラーは、<Source> 要素で指定された メッセージ変数が次のいずれかである場合に発生します。
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
このエラーは、<Source> 要素がメッセージ型以外の変数に設定されている場合に発生します。 |
build |
デプロイエラー
なし。
障害変数
このポリシーがエラーをトリガーした場合は、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | jsonattack.JTP-SecureRequest.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
障害ルールの例
<FaultRule name="JSONThreatProtection Policy Faults">
<Step>
<Name>AM-CustomErrorResponse</Name>
<Condition>(fault.name Matches "ExecutionFailed") </Condition>
</Step>
<Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>
JSONThreatProtection ポリシータイプでは、次のエラーコードを定義します。
JSONtoXML ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 |
入力ペイロード(JSON)が空か、JSON to XML ポリシーに渡された入力(JSON)が無効または不正です。 | build |
steps.jsontoxml.InCompatibleTypes |
500 |
このエラーは、<Source> 要素で定義された変数の型と、<OutputVariable> 要素で定義された変数の型が異なる場合に発生します。<Source> 要素に含まれる変数の型と <OutputVariable> 要素に含まれる変数の型は一致している必要があります。有効な型は message と string です。 |
build |
steps.jsontoxml.InvalidSourceType |
500 |
このエラーは、<Source> 要素の定義に使用される変数の型が無効な場合に発生します。有効な変数の型は message と string です。 |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 |
このエラーは、JSON to XML ポリシーの <Source> 要素で指定された変数が文字列型であり、<OutputVariable> 要素が定義されていない場合に発生します。<Source> 要素で定義された変数が文字列型の場合、<OutputVariable> 要素は必須です。 |
build |
steps.jsontoxml.SourceUnavailable |
500 |
このエラーは、JSON to XML ポリシーの <Source> 要素で指定された message 変数が、次のいずれかである場合に発生します。
|
build |
デプロイエラー
なし。
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | jsontoxml.JSON-to-XML-1.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
障害ルールの例
<FaultRule name="JSON To XML Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadJSON</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition> </FaultRule>
KeyValueMapOperations ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
このエラーは、 |
build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidIndex |
KeyValueMapOperations ポリシーの <Get> 要素で指定された index 属性がゼロまたは負の数である場合、API プロキシのデプロイが失敗します。インデックスは 1 から始まるため、ゼロまたは負の整数のインデックスは無効と見なされます。 |
build |
KeyIsMissing |
このエラーは、<Key> 要素が完全に欠落しているか、KeyValueMapOperations ポリシーの <InitialEntries> 要素の <Entry> の下の <Key> 要素に <Parameter> 要素がない場合に発生します。 |
build |
ValueIsMissing |
このエラーは、KeyValueMapOperations ポリシーの <InitialEntries> 要素の <Entry> 要素の下に <Value> 要素がない場合に発生します。 |
build |
MessageLogging ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 |
障害文字列をご覧ください。 |
steps.messagelogging.InvalidGoogleCloudLogName |
500 |
このエラーは、LogName が projects/{project}/logs/{logid} の有効な形式と評価されない場合にスローされます。 |
steps.messagelogging.InvalidJsonMessage |
500 |
このエラーは、contentType 属性値が application/json として選択されているが、実際のメッセージ値が有効な JSON 文字列でない場合にスローされます。 |
steps.messagelogging.TooManyPendingLoggingRequest |
500 |
このエラーは、Cloud Logging に書き込まれていない保留中のリクエストが 2,500 件を超えるとスローされます。2,500 件の上限は、Apigee ランタイム Pod ごとに適用されます。たとえば、トラフィックが Apigee ランタイム Pod の 2 つのインスタンスに分散している場合、実際の上限は 5,000 リクエストです。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidProtocol |
<Protocol> 要素内で指定されたプロトコルが有効でない場合、MessageLogging ポリシーのデプロイがこのエラーで失敗することがあります。有効なプロトコルは TCP と UDP です。TLS / SSL 経由で Syslog メッセージを送信する場合は、TCP のみがサポートされます。 |
build |
InvalidPort |
<Port> 要素内でポート番号が指定されていないか、有効でない場合、MessageLogging ポリシーのデプロイがこのエラーで失敗する場合があります。ポート番号は 0 より大きい整数である必要があります。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | messagelogging.ML-LogMessages.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
障害ルールの例
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
OASValidation ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.oasvalidation.Failed |
400 |
リクエスト メッセージの本文が、指定された OpenAPI 仕様に対して検証できません。 |
steps.oasvalidation.Failed |
500 |
レスポンス メッセージの本文が、指定された OpenAPI 仕様に対して検証できません。 |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
ポリシーの |
steps.oasvalidation.NonMessageVariable |
500 |
|
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | |
---|---|---|
ResourceDoesNotExist |
<OASResource> 要素で参照されている OpenAPI 仕様が存在しません。 |
|
ResourceCompileFailed |
デプロイに含まれている OpenAPI 仕様に、コンパイルを妨げるエラーが存在します。これは通常、仕様が正しい形式の OpenAPI 仕様 3.0 ではないことを示しています。 | |
BadResourceURL |
<OASResource> 要素で参照されている OpenAPI 仕様が処理できません。これは、ファイルが JSON または YAML ファイルでない場合、またはファイルの URL が正しく指定されていない場合に発生することがあります。 |
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.category |
障害のカテゴリ。ポリシーでリクエストが拒否された場合、常に Step が保持されます。 |
fault.category = "Step" |
fault.name |
障害の名前は、上記のランタイム エラーの表に記載されています。障害名は、障害コードの最後の部分です。 | fault.name Matches "ResourceDoesNotExist" |
fault.reason |
障害の理由。障害の理由です。人が読める形式の文字列で示されます。 | OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]" |
fault.subcategory |
障害のサブカテゴリ。ポリシーでリクエストが拒否された場合、常に OASValidationFailure が保持されます。 |
fault.subcategory = "OASValidationFailure" |
OASValidation.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | OASValidation.myoaspolicy.failed = true |
PopulateCache ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 発生条件 |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 |
エントリをキャッシュできない場合。キャッシュされるメッセージ オブジェクトが、シリアル化可能なクラスのインスタンスではない場合。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidCacheResourceReference |
このエラーは、API プロキシがデプロイされている環境に存在しない名前が PopulateCache ポリシーの <CacheResource> 要素に設定されている場合に発生します。 |
build |
CacheNotFound |
<CacheResource> 要素で指定されたキャッシュが存在しません。 |
build |
障害変数
このポリシーがエラーをトリガーした場合は、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | populatecache.POP-CACHE-1.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
障害ルールの例
<FaultRule name="Populate Cache Fault"> <Step> <Name>AM-EntryCannotBeCached</Name> <Condition>(fault.name Matches "EntryCannotBeCached") </Condition> </Step> <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition> </FaultRule>
LookupCache ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに設定されるエラー メッセージとフロー変数について説明します。これは、プロキシの障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
エラーコードの接頭辞
なし
ランタイム エラー
このポリシーはランタイム エラーをスローしません。
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidCacheResourceReference |
このエラーは、API プロキシがデプロイされている環境に存在しない名前が <CacheResource> 要素に設定されている場合に発生します。 |
build |
InvalidTimeout |
<CacheLookupTimeoutInSeconds> 要素が負の数に設定されている場合、API プロキシのデプロイは失敗します。 |
build |
CacheNotFound |
このエラーは、エラー メッセージに記述されているキャッシュが、特定の Message Processor コンポーネント上に作成されていない場合に発生します。 | build |
障害変数
なし
エラー レスポンスの例
なし
InvalidateCache ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに設定されるエラー メッセージとフロー変数について説明します。これは、プロキシの障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
エラーコードの接頭辞
なし
ランタイム エラー
このポリシーはランタイム エラーをスローしません。
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidCacheResourceReference |
このエラーは、API プロキシがデプロイされている環境に存在しない名前が InvalidateCache ポリシーの <CacheResource> 要素に設定されている場合に発生します。 |
build |
CacheNotFound |
このエラーは、エラー メッセージに記述されているキャッシュが、特定の Message Processor コンポーネント上に作成されていない場合に発生します。 | build |
障害変数
なし
エラー レスポンスの例
なし
ResponseCache ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに設定されるエラー メッセージとフロー変数について説明します。これは、プロキシの障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
エラーコードの接頭辞
なし
ランタイム エラー
このポリシーはランタイム エラーをスローしません。
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidTimeout |
ResponseCache ポリシーの <CacheLookupTimeoutInSeconds> 要素が負の数に設定されている場合、API プロキシのデプロイが失敗します。 |
build |
InvalidCacheResourceReference |
このエラーは、API プロキシがデプロイされている環境に存在しない名前が ResponseCache ポリシーの <CacheResource> 要素に設定されている場合に発生します。 |
build |
ResponseCacheStepAttachmentNotAllowedReq |
このエラーは、同じ ResponseCache ポリシーが API プロキシの任意のフロー内の複数のリクエストパスに接続されている場合に発生します。 |
build |
ResponseCacheStepAttachmentNotAllowedResp |
このエラーは、同じ ResponseCache ポリシーが API プロキシの任意のフロー内の複数のレスポンスパスに接続されている場合に発生します。 |
build |
InvalidMessagePatternForErrorCode |
このエラーは、ResponseCache ポリシーの <SkipCacheLookup> 要素と <SkipCachePopulation> 要素のいずれかに無効な条件が含まれている場合に発生します。 |
build |
CacheNotFound |
このエラーは、エラー メッセージに記述されているキャッシュが、特定の Message Processor コンポーネント上に作成されていない場合に発生します。 | build |
障害変数
なし
エラー レスポンスの例
なし
OAuthV2 ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | オペレーションによるスロー |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
アクセス トークンの期限が切れています。 |
|
steps.oauth.v2.access_token_not_approved |
401 |
アクセス トークンは取り消されています。 | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 |
リクエストされたリソースが、アクセス トークンに関連付けられた API プロダクトに存在していません。 | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
ポリシーでは、<AccessToken> 要素で指定された変数にアクセス トークンがあることを想定していますが、この変数を解決できませんでした。 |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
ポリシーでは、<Code> 要素で指定された変数に認証コードがあることを想定していますが、この変数を解決できませんでした。 |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
ポリシーでは、<ClientId> 要素で指定された変数にクライアント ID があることを想定していますが、この変数を解決できませんでした。 |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 |
ポリシーでは、<RefreshToken> 要素で指定された変数に更新トークンがあることを想定していますが、この変数を解決できませんでした。 |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 |
ポリシーでは、<Tokens> 要素で指定された変数にトークンがあることを想定していますが、この変数を解決できませんでした。 |
|
steps.oauth.v2.InsufficientScope |
403 | リクエストで提供されたアクセス トークンのスコープが、アクセス トークン検証ポリシーに指定されているスコープと一致しません。スコープの詳細については、OAuth2 スコープの操作をご覧ください。 | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 |
クライアントから送信されたアクセス トークンが無効です。 | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
このエラー名は、ポリシーの |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | このエラー名は、複数の異なる種類のエラーに使用されます。通常は、リクエストで送信されたパラメータが欠落しているか、正しくない場合に使用されます。<GenerateResponse> が false に設定されている場合、後述の障害変数を使用してエラーの詳細(障害名、原因など)を取得してください。 |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
認証ヘッダーに必須の単語 Bearer がありません。例: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
現在実行中の API プロキシまたはオペレーションが、アクセス トークンに関連付けられたプロダクト内にありません。 ヒント: アクセス トークンに関連付けられたプロダクトが適切に構成されていることを確認してください。たとえば、リソースパスでワイルドカードを使用する場合は、ワイルドカードが正確に使用されていることを確認します。詳しくは、API プロダクトの管理をご覧ください。 このエラーの原因について詳しくは、Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error もご覧ください。 |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
このエラー名は、ポリシーの |
|
steps.oauth.v2.InvalidParameter |
500 |
ポリシーでは、アクセス トークンまたは認証コードのいずれかを指定する必要があります。両方は指定できません。 | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 |
<Tokens>/<Token> 要素でトークンタイプ(たとえば refreshtoken )を指定する必要があります。クライアントが誤ったタイプを渡すと、このエラーがスローされます。 |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 |
レスポンス タイプが token ですが、権限付与タイプが指定されていません。 |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
クライアントで指定された権限付与タイプが、ポリシーでサポートされていません( |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
JWT トークン固有のランタイム エラー
JWT 認証トークンのランタイム エラーコードと説明は、OAuth2 フローのコンテキストによって異なります。
- フローのコンテキストがトークンの生成または更新の場合は、次の JWT トークンの生成フローと更新フローのエラーコードをご覧ください。
- トークン検証フローについては、次のトークン検証フローのエラーコードをご覧ください。
JWT トークンの生成フローと更新フローのエラーコード
JWT トークンを生成または更新する OAuth2 フローの場合、エラー レスポンスは RFC6749 で指定されているエラー レスポンスに従います。詳しくは、セクション 5.2 エラー レスポンスをご覧ください。
トークン検証フローのエラーコード
次の表に示すエラーコードは、VerifyAccessToken オペレーションにのみ適用されます。
障害コード | HTTP ステータス | 原因 | オペレーションによるスロー |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
ポリシーで JWT に署名を設定できなかった場合。 |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
これは、JWT アクセス トークンにアルゴリズムが存在しない場合、または値がサポートされていない場合に発生します。 |
|
oauth.v2.InsufficientKeyLength |
401 |
JWT の生成では、HS384 または HS512 アルゴリズムの鍵が最小サイズよりも小さい場合。 |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
Generate ポリシーで指定されたアルゴリズムが、Verify ポリシーで想定されているアルゴリズムと一致しない場合。指定されたアルゴリズムが一致している必要があります。 |
|
oauth.v2.JWTDecodingFailed |
401 |
ポリシーで JWT をデコードできなかった場合。JWT が破損している可能性があります。 |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Jwt アクセス トークンに必要なクレームがない場合。 |
|
oauth.v2.InvalidJWTSignature |
401 |
これは、JWT アクセス トークンの署名が検証できなかったか、署名が無効である場合に発生します。 |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
JWT の型が at+Jwt でない場合に発生します。 |
|
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 |
---|---|
InvalidValueForExpiresIn |
|
InvalidValueForRefreshTokenExpiresIn |
<RefreshTokenExpiresIn> 要素の場合、有効な値は正の整数と -1 です。 |
InvalidGrantType |
<SupportedGrantTypes> 要素に無効な権限付与タイプが指定されています。有効な付与タイプのリストについては、ポリシー リファレンスをご覧ください。 |
ExpiresInNotApplicableForOperation |
<Operations> 要素に指定されたオペレーションで有効期限がサポートされていることを確認してください。たとえば、VerifyToken オペレーションでは有効期限はサポートされません。 |
RefreshTokenExpiresInNotApplicableForOperation |
<Operations> 要素に指定されたオペレーションで、更新トークンの有効期限がサポートされていることを確認してください。たとえば、VerifyToken オペレーションではサポートされていません。 |
GrantTypesNotApplicableForOperation |
<SupportedGrantTypes> に指定された付与タイプが、指定したオペレーションでサポートされていることを確認してください。 |
OperationRequired |
|
InvalidOperation |
|
TokenValueRequired |
<Tokens> 要素にトークン <Token> 値を指定する必要があります。 |
JWT トークン固有のデプロイエラー
このデプロイエラーは、JWT トークン オペレーションを使用するポリシーに固有のエラーです。
エラー名 | 原因 |
---|---|
InvalidValueForAlgorithm |
<Algorithm> 要素で指定されたアルゴリズムが、使用可能なアルゴリズムのリストに含まれていないか、存在しません。 |
MissingKeyConfiguration |
必須の <SecretKey> 、<PrivateKey> 、<PublicKey> 要素がありません(どの要素がないかは、使用するアルゴリズムによって異なります)。 |
EmptyValueElementForKeyConfiguration |
必須の子要素 <Value> が <PrivateKey> 、<PublicKey> 、または <SecretKey> 要素で定義されていません。 |
InvalidKeyConfiguration |
<PrivateKey> 要素が RSA ファミリー アルゴリズムで使用されていないか、<SecretKey> 要素が HS ファミリー アルゴリズムで使用されていません。 |
EmptyRefAttributeForKeyconfiguration |
<PrivateKey> 、<PublicKey> 、または <SecretKey> 要素の子要素 <Value> の ref 属性が空です。 |
InvalidVariableNameForKey |
<PrivateKey> 、<PublicKey> 、または <SecretKey> 要素の子要素 <Value> の ref 属性で指定されたフロー変数名に、private 接頭辞がありません。 |
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.GenerateAccesstoken.fault.name = invalid_request
|
oauthV2.policy_name.fault.cause |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
エラー レスポンスの例
<GenerateResponse>
要素が true の場合、これらのレスポンスがクライアントに返されます。
<GenerateResponse>
が true の場合、ポリシーはトークンとコードを生成するオペレーションに対して、次の形式のエラーを返します。一覧については、OAuth HTTP エラー レスポンス リファレンスをご覧ください。
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
<GenerateResponse>
が true の場合、ポリシーは確認と検証のオペレーションに対して、次の形式のエラーを返します。一覧については、OAuth HTTP エラー レスポンス リファレンスをご覧ください。
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
障害ルールの例
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientResponse</Name> <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition> </Step> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
GetOAuthV2Info ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。以下のエラー名は、エラーが発生したときに fault.name
変数に割り当てられる文字列です。詳細については、以下の障害変数のセクションをご覧ください。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
ポリシーに送信されたアクセス トークンが期限切れになっています。 |
steps.oauth.v2.authorization_code_expired |
500 |
ポリシーに送信された認証コードが期限切れになっています。 |
steps.oauth.v2.invalid_access_token |
500 |
ポリシーに送信されたアクセス トークンが無効です。 |
steps.oauth.v2.invalid_client-invalid_client_id |
500 |
ポリシーに送信されたクライアント ID が無効です。 |
steps.oauth.v2.invalid_refresh_token |
500 |
ポリシーに送信された更新トークンが無効です。 |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 |
ポリシーに送信された認証コードが無効です。 |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | このエラーのトラブルシューティングについては、Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error をご覧ください。 |
steps.oauth.v2.refresh_token_expired |
500 |
ポリシーに送信された更新トークンが期限切れになっています。 |
デプロイエラー
デプロイエラーについては、UI で報告されるメッセージを参照してください。
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
エラー レスポンスの例
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
障害ルールの例
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
SetOAuthV2Info ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
ポリシーに送信されたアクセス トークンが期限切れになっています。 |
steps.oauth.v2.invalid_access_token |
500 |
ポリシーに送信されたアクセス トークンが無効です。 |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
このエラーのトラブルシューティングについては、Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error をご覧ください。 |
デプロイエラー
デプロイエラーについては、UI で報告されるメッセージを参照してください。
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.SetTokenInfo.cause = Invalid Access Token |
エラー レスポンスの例
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
障害ルールの例
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
DeleteOAuthV2Info ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
ポリシーに送信されたアクセス トークンが無効です。 |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
ポリシーに送信された認証コードが無効です。 |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
このエラーのトラブルシューティングについては、Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error をご覧ください。 |
デプロイエラー
デプロイエラーについては、UI で報告されるメッセージを参照してください。
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
エラー レスポンスの例
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
障害ルールの例
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
PythonScript ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、および Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 |
PythonScript ポリシーは、複数のタイプの ScriptExecutionFailed エラーをスローします。よくあるエラーとしては、NameError や ZeroDivisionError があります。 | build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidResourceUrlFormat |
PythonScript ポリシーの <ResourceURL> または <IncludeURL> 要素で指定されたリソース URL の形式が無効な場合、API プロキシのデプロイが失敗します。 |
build |
InvalidResourceUrlReference |
<ResourceURL> 要素または <IncludeURL> 要素が存在しない PythonScript ファイルを参照している場合、API プロキシのデプロイが失敗します。参照先のソースファイルが API プロキシ、環境、組織レベルのいずれかに存在している必要があります。 |
build |
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | pythonscript.PythonScript-1.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
障害ルールの例
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
Quota ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 |
<Interval> 要素が Quota ポリシー内で定義されていない場合に発生します。この要素は必須であり、割り当てに適用される間隔を指定するために使用されます。間隔は、<TimeUnit> 要素で定義された分、時、日、週、月で指定できます。 |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 |
<TimeUnit> 要素が Quota ポリシー内で定義されていない場合に発生します。この要素は必須であり、割り当てに適用される時間単位を指定するために使用されます。間隔は、分、時間、日、週、月で指定できます。 |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
フロー変数で <MessageWeight> 要素に無効な値(整数以外の値)が指定された場合に発生します。 |
build |
policies.ratelimit.QuotaViolation |
500 |
割り当ての上限を超えました。 | なし |
デプロイエラー
エラー名 | 原因 | 修正 |
---|---|---|
InvalidQuotaInterval |
<Interval> 要素に指定された割り当て間隔が整数でない場合、API プロキシのデプロイが失敗します。たとえば、<Interval> 要素で指定された割り当て間隔が 0.1 の場合、API プロキシのデプロイが失敗します。 |
build |
InvalidQuotaTimeUnit |
<TimeUnit> 要素で指定された時間単位がサポートされていない場合、API プロキシのデプロイが失敗します。サポートされている時間単位は minute 、hour 、day 、week 、month です。 |
build |
InvalidQuotaType |
<Quota> 要素の type 属性で指定された割り当てのタイプが無効な場合、API プロキシのデプロイが失敗します。サポートされている割り当てのタイプは、default 、calendar 、flexi 、rollingwindow です。 |
build |
InvalidStartTime |
<StartTime> 要素で指定された時間の形式が無効な場合、API プロキシのデプロイが失敗します。有効な形式は yyyy-MM-dd HH:mm:ss です。これは ISO 8601 の日付と時刻の形式です。たとえば、<StartTime> 要素で指定された時間が 7-16-2017 12:00:00 の場合、API プロキシのデプロイが失敗します。 |
build |
StartTimeNotSupported |
割り当てのタイプが calendar 以外の <StartTime> 要素が指定されている場合、API プロキシのデプロイが失敗します。<StartTime> 要素は、calendar 割り当てタイプでのみサポートされています。たとえば、<Quota> 要素の type 属性が flexi または rolling window に設定されている場合、API プロキシのデプロイが失敗します。 |
build |
InvalidTimeUnitForDistributedQuota |
<Distributed> 要素が true に設定され、<TimeUnit> 要素が second に設定されている場合、API プロキシのデプロイが失敗します。分散割り当てで時間単位 second は無効です。 |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Quota ポリシーの <AsynchronousConfiguration> 要素内の <SyncIntervalInSeconds> 要素に指定された値が 0 未満の場合、API プロキシのデプロイが失敗します。 |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Quota ポリシーで <AsynchronousConfiguration> 要素の値が true に設定されていて、<AsynchronousConfiguration> 要素を使用して非同期構成が定義されている場合、API プロキシのデプロイが失敗します。 |
build |
障害変数
このポリシーがエラーをトリガーした場合は、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | ratelimit.QT-QuotaPolicy.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
障害ルールの例
<FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "QuotaViolation") </Condition> </Step> <Condition>ratelimit.Quota-1.failed=true</Condition> </FaultRule> </FaultRules>
ResetQuota ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
ResetQuota ポリシーの <Quota> 要素で指定された Quota ポリシーは、API プロキシで定義されていないため、フロー中に使用できません。<Quota> 要素は必須です。この要素は、ResetQuota ポリシーを使用してカウンタを更新する必要があるターゲット Quota ポリシーを識別します。 |
build |
policies.resetquota.FailedToResolveAllowCountRef |
なし | ポリシーの <Allow> 要素の許可カウントを含む変数への参照を値に解決できません。この要素は必須であり、割り当てカウンタを減らす量を指定します。 |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
<Quota> 要素の ref 属性によって参照される変数は解決できません。 |
build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidCount |
ResetQuota ポリシーの <Allow> 要素に指定されたカウント値が整数でない場合、API プロキシのデプロイは失敗します。 |
build |
RaiseFault ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.raisefault.RaiseFault |
500 |
障害文字列をご覧ください。 |
デプロイエラー
なし。
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | raisefault.RF-ThrowError.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
RegularExpressionProtection ポリシー
このセクションでは、このポリシーでエラーをトリガーしたときに返されるエラーコードとメッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。エラーをキャプチャして独自のカスタムエラーを発生させる場合は、ポリシールート要素で continueOnError="true"
属性を設定します。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
エラーコード | メッセージ |
---|---|
ExecutionFailed |
Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1} |
InstantiationFailed |
Failed to instantiate the RegularExpressionProtection StepDefinition {0} |
NonMessageVariable |
Variable {0} does not resolve to a Message |
SourceMessageNotAvailable |
{0} message is not available for RegularExpressionProtection StepDefinition {1} |
ThreatDetected |
Regular Expression Threat Detected in {0}: regex: {1} input: {2} |
VariableResolutionFailed |
Failed to resolve variable {0} |
デプロイエラー
エラーコード | メッセージ | 修正 |
---|---|---|
CannotBeConvertedToNodeset |
RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset.
Context {2} |
build |
DuplicatePrefix |
RegularExpressionProtection {0}: Duplicate prefix {1} |
build |
EmptyJSONPathExpression |
RegularExpressionProtection {0}: Empty JSONPath expression |
build |
EmptyXPathExpression |
RegularExpressionProtection {0}: Empty XPath expression |
build |
InvalidRegularExpression |
RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} |
build |
JSONPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} |
build |
NONEmptyPrefixMappedToEmptyURI |
RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty
uri |
build |
NoPatternsToEnforce |
RegularExpressionProtection {0}: No patterns to enforce in {1} |
build |
NothingToEnforce |
RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header,
FormParam, XMLPayload, JSONPayload is mandatory |
build |
XPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} |
build |
障害変数
このポリシーがエラーをトリガーした場合は、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記の表に示されている障害の名前です。 | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
SAMLAssertion ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
SourceNotConfigured |
ValidateSAMLAssertion ポリシーの <Source> 、<XPath> 、<Namespaces> 、<Namespace> 要素のうち、1 つ以上が定義されていないか、空白になっています。 |
build |
TrustStoreNotConfigured |
<TrustStore> 要素が空か、ValidateSAMLAssertion ポリシーで指定されていない場合、API プロキシのデプロイが失敗します。有効なトラストストアが必要です。 |
build |
NullKeyStoreAlias |
子要素 <Alias> が空か、GenerateSAMLAssertion ポリシーの <Keystore> 要素で指定されていない場合、API プロキシのデプロイが失敗します。有効なキーストア エイリアスが必要です。 |
build |
NullKeyStore |
子要素 <Name> が空か、GenerateSAMLAssertion ポリシーの <Keystore> 要素で指定されていない場合、API プロキシのデプロイが失敗します。有効なキーストア名が必要です。 |
build |
NullIssuer |
<Issuer> 要素が空か、GenerateSAMLAssertion ポリシーで指定されていない場合、API プロキシのデプロイが失敗します。有効な <Issuer> の値が必要です。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
検証 SAML assertion ポリシー構成の場合、エラーの接頭辞は ValidateSAMLAssertion になります。 |
GenerateSAMLAssertion.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
障害ルールの例
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
ServiceCallout ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
このエラーは、次の場合に発生します。
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 |
ポリシーで指定された Request 変数のタイプが Message ではありません。たとえば、文字列または他のメッセージ以外のタイプの場合、このエラーが発生します。 |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
ポリシーで指定された Request 変数のタイプが RequestMessage ではありません。たとえば、Response タイプの場合、このエラーが発生します。 |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
このエラーは、API プロキシが <Authentication> 要素で構成されている場合に発生することがあります。次のような原因が考えられます。
<GoogleAccessToken> 要素が使用され、1 つ以上の無効なスコープが指定されています。入力ミスや空のスコープなどを探してください。
Apigee ハイブリッドの場合のみ、ランタイム コンテナのログで |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
URLMissing |
<HTTPTargetConnection> 内の <URL> 要素が見つからないか、空になっています。 |
build |
ConnectionInfoMissing |
このエラーは、ポリシーに <HTTPTargetConnection> 要素または <LocalTargetConnection> 要素がない場合に発生します。 |
build |
InvalidTimeoutValue |
このエラーは、<Timeout> の値が負の値またはゼロの場合に発生します。 |
build |
FAILED_PRECONDITION |
プロキシが <Authentication> タグで構成されている場合にサービス アカウントがないと、このエラーが発生します。 例: Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service account identity, but one was not provided with the request. |
|
PERMISSION_DENIED |
プロキシが <Authentication> タグを使用して構成されている場合に、サービス アカウントに権限の問題があると、このエラーが発生します。考えられる原因:
|
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | servicecallout.SC-GetUserData.failed = true |
エラー レスポンスの例
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
障害ルールの例
<FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
SOAPMessageValidation ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
このエラーは、ポリシーの
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
このエラーは、SOAPMessageValidation ポリシーの メッセージ型の変数は HTTP リクエストとレスポンス全体を表します。組み込みの Apigee フロー変数 |
build |
steps.messagevalidation.Failed |
500 | このエラーは、SOAPMessageValidation ポリシーが、XSD スキーマまたは WSDL 定義に対する入力メッセージ ペイロードを検証できなかった場合に発生します。また、ペイロード メッセージ内の JSON または XML の形式が正しくない場合にも発生します。 | build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidResourceType |
SOAPMessageValidation ポリシーの <ResourceURL> 要素が、ポリシーでサポートされていないリソースタイプに設定されています。 |
build |
ResourceCompileFailed |
SOAPMessageValidation ポリシーの <ResourceURL> 要素で参照されているリソース スクリプトに、コンパイルを妨げるエラーが含まれています。 |
build |
RootElementNameUnspecified |
SOAPMessageValidation ポリシーの <Element> 要素にルート要素の名前が含まれていません。 |
build |
InvalidRootElementName |
SOAPMessageValidation ポリシーの <Element> 要素に、有効な要素の命名に関する XML ルールに準拠していないルート要素名が含まれています。 |
build |
SpikeArrest ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
このエラーは、<Rate> 要素内のレート設定を含む変数への参照を、SpikeArrest ポリシー内の値に解決できない場合に発生します。この要素は必須であり、intpm または intps の形式でスパイク阻止レートを指定する場合に使用します。 |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
このエラーは、フロー変数で <MessageWeight> 要素に指定された値が無効な場合(整数以外の値)場合に発生します。 |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
レート制限を超過しています。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidAllowedRate |
SpikeArrest ポリシーの <Rate> 要素で指定されたスパイク阻止レートが整数でない場合、またはレートに接尾辞として ps または pm がない場合、API プロキシのデプロイは失敗します。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | ratelimit.SA-SpikeArrestPolicy.failed = true |
エラー レスポンスの例
以下は、エラー レスポンスの例です。
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
障害ルールの例
以下は、SpikeArrestViolation
障害を処理する障害ルールの例です。
<FaultRules> <FaultRule name="Spike Arrest Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "SpikeArrestViolation") </Condition> </Step> <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition> </FaultRule> </FaultRules>
VerifyAPIKey ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
keymanagement.service.consumer_key_missing_api_product_association |
400 |
アプリケーションの認証情報に API プロダクトの関連付けが含まれていません。キーのアプリケーションを API プロダクトに関連付けてください。これは、デベロッパー アプリや AppGroup アプリなど、すべての種類のアプリケーションに適用されます。 |
keymanagement.service.DeveloperStatusNotActive |
401 |
使用している API キーに関連付けられたデベロッパー アプリのデベロッパーが非アクティブになっています。アプリ デベロッパーのステータスが非アクティブに設定されると、このデベロッパーが作成したすべてのデベロッパー アプリも無効になります。適切な権限のある管理ユーザー(組織管理者など)は、次の方法でデベロッパーのステータスを変更できます。
|
keymanagement.service.invalid_client-app_not_approved |
401 |
API キーに関連付けられたデベロッパー アプリが取り消されています。取り消されたアプリは、API プロダクトにアクセスできず、Apigee が管理する API を呼び出すことはできません。組織管理者は、Apigee API を使用してデベロッパー アプリのステータスを変更できます。鍵ペアの生成またはデベロッパー アプリのステータスの更新をご覧ください。 |
oauth.v2.FailedToResolveAPIKey |
401 |
ポリシーは、ポリシーの <APIKey> 要素で指定された変数に API キーが格納されていることを前提としています。 このエラーは、想定した変数が存在しない(解決できない)場合に発生します。 |
oauth.v2.InvalidApiKey |
401 |
Apigee が API キーを受け取りましたが、キーが無効です。Apigee は、データベースでキーを検索するときに、リクエストで送信されたキーと完全に一致するキーを検索します。以前に機能していた API の場合は、キーが再生成されていないことを確認してください。キーが再生成されているときに古いキーを使用しようとすると、このエラーが表示されます。詳しくは、アプリ登録を使用した API へのアクセスの管理をご覧ください。 |
oauth.v2.InvalidApiKeyForGivenResource |
401 |
Apigee は、有効な API キーを受信していますが、プロダクトで API プロキシに関連付けられたデベロッパー アプリで承認済みのキーと一致していません。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 |
---|---|
SpecifyValueOrRefApiKey |
<APIKey> 要素に値とキーが指定されていません。 |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | oauthV2.VK-VerifyAPIKey.failed = true |
エラー レスポンスの例
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
障害ルールの例
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
VerifyIAM ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
認証情報ソース内で指定されたフロー変数を解決できませんでした。 |
steps.verifyiam.CredentialValueNotProvided |
400 |
認証情報が見つかりません。認証情報のソース参照が指定されていない場合は、認可ヘッダーなどのデフォルトの場所を参照します。 |
steps.verifyiam.Forbidden |
403 |
十分な権限がない、アクセス スコープがない、またはその他の関連する問題が発生しているため、リクエストを転送できませんでした。 |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
IAM への認証リクエストに関する問題。API プロデューサーは、エラー レスポンスの詳細に基づいてこのエラーを修正する必要があります。 |
steps.verifyiam.Unauthorized |
401 |
認証情報に関する問題(値が無効である、有効期限が切れているなど)。 |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
内部エラー。 |
デプロイエラー
このポリシーは、ポリシー固有のデプロイエラーを返しません。
障害変数
次の変数は、このポリシーでランタイム エラーが発生したときに設定されます。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | verifyiam.Verify-IAMToken.failed = true |
VerifyJWS ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 発生条件 |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 |
検証ポリシーに複数のアルゴリズムがある場合。 |
steps.jws.AlgorithmMismatch |
401 |
Generate ポリシーでヘッダーに指定されたアルゴリズムが、Verify ポリシーで想定されたアルゴリズムと異なる場合。指定されたアルゴリズムが一致している必要があります。 |
steps.jws.ContentIsNotDetached |
401 |
JWS に分離済みコンテンツ ペイロードが含まれているのに <DetachedContent> が指定されている場合。 |
steps.jws.FailedToDecode |
401 |
ポリシーで JWS をデコードできなかった場合。JWS が破損している可能性があります。 |
steps.jws.InsufficientKeyLength |
401 |
HS256 アルゴリズムの鍵が 32 バイト未満の場合。 |
steps.jws.InvalidClaim |
401 |
クレームが欠落しているか、一致していない場合。または、ヘッダーが欠落しているか、一致していない場合。 |
steps.jws.InvalidCurve |
401 |
鍵で指定された曲線が、楕円曲線アルゴリズムでは無効な場合。 |
steps.jws.InvalidJsonFormat |
401 |
JWS ヘッダーで無効な JSON が検出された場合。 |
steps.jws.InvalidJws |
401 |
JWS 署名の検証で不合格だった場合。 |
steps.jws.InvalidPayload |
401 |
JWS ペイロードが無効な場合。 |
steps.jws.InvalidSignature |
401 |
<DetachedContent> が省略され、JWS に分離されたコンテンツ ペイロードがある場合。 |
steps.jws.KeyIdMissing |
401 |
Verify ポリシーが公開鍵のソースとして JWKS を使用しているが、署名付き JWS のヘッダーに kid プロパティが含まれてない場合。 |
steps.jws.KeyParsingFailed |
401 |
指定された鍵情報で公開鍵を解析できない場合。 |
steps.jws.MissingPayload |
401 |
JWS ペイロードが欠落している場合。 |
steps.jws.NoAlgorithmFoundInHeader |
401 |
JWS がアルゴリズム ヘッダーを省略すると発生します。 |
steps.jws.NoMatchingPublicKey |
401 |
Verify ポリシーが JWKS を公開鍵のソースとして使用するが、署名付き JWS の kid は JWKS にリストされない場合。 |
steps.jws.UnhandledCriticalHeader |
401 |
crit ヘッダーの Verify JWS ポリシーで見つかったヘッダーが KnownHeaders にリストされていない場合。 |
steps.jws.UnknownException |
401 |
不明な例外が発生した場合。 |
steps.jws.WrongKeyType |
401 |
鍵のタイプが正しくない場合。たとえば、楕円曲線アルゴリズムで RSA 鍵を指定した場合や、RSA アルゴリズムで曲線鍵を指定した場合など。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 発生条件 |
---|---|
InvalidAlgorithm |
有効な値: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 |
|
発生の可能性があるその他のデプロイエラー。 |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "TokenExpired" |
JWS.failed |
障害の場合は、すべての JWS ポリシーで同じ変数が設定されます。 | jws.JWS-Policy.failed = true |
エラー レスポンスの例
ベスト プラクティスとして、エラー処理でエラー レスポンスの errorcode
の部分をトラップすることをおすすめします。faultstring
のテキストには依存しないでください。この部分は変更される可能性があります。
障害ルールの例
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
VerifyJWT ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 発生条件 |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
検証ポリシーに複数のアルゴリズムがある場合。 |
steps.jwt.AlgorithmMismatch |
401 |
Generate ポリシーで指定されたアルゴリズムが、Verify ポリシーで想定されているアルゴリズムと一致しない場合。指定されたアルゴリズムが一致している必要があります。 |
steps.jwt.FailedToDecode |
401 |
ポリシーで JWT をデコードできなかった場合。JWT が破損している可能性があります。 |
steps.jwt.GenerationFailed |
401 |
ポリシーで JWT を生成できなかった場合。 |
steps.jwt.InsufficientKeyLength |
401 |
HS256 アルゴリズムで鍵が 32 バイト未満の場合、HS386 アルゴリズムで鍵が 48 バイト未満の場合、HS512 アルゴリズムで鍵が 64 バイト未満の場合。 |
steps.jwt.InvalidClaim |
401 |
クレームが欠落しているか、一致していない場合。または、ヘッダーが欠落しているか、一致していない場合。 |
steps.jwt.InvalidConfiguration |
401 |
<Algorithm> 要素と <Algorithms> 要素の両方が存在する場合。 |
steps.jwt.InvalidCurve |
401 |
鍵で指定された曲線が、楕円曲線アルゴリズムでは無効な場合。 |
steps.jwt.InvalidIterationCount |
401 |
暗号化された JWT で使用された反復回数が、VerifyJWT ポリシーの構成で指定された反復回数と一致していない場合。これは、<PasswordKey> を使用する JWT にのみ適用されます。 |
steps.jwt.InvalidJsonFormat |
401 |
ヘッダーまたはペイロードで無効な JSON が検出された場合。 |
steps.jwt.InvalidKeyConfiguration |
401 |
<PublicKey> 要素の JWKS が無効です。理由としては、Apigee インスタンスから JWKS URI エンドポイントに到達できないことが考えられます。パススルー プロキシを作成し、JWKS エンドポイントをターゲットとして使用して、エンドポイントとの接続をテストします。 |
steps.jwt.InvalidSaltLength |
401 |
暗号化された JWT で使用されたソルトの長さが、VerifyJWT ポリシーの構成で指定されたソルトの長さと一致していない場合。これは、<PasswordKey> を使用する JWT にのみ適用されます。 |
steps.jwt.InvalidPasswordKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidPrivateKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidPublicKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidSecretKey |
401 |
指定した鍵が要件を満たしていない場合。 |
steps.jwt.InvalidToken |
401 |
JWT 署名の検証で不合格だった場合。 |
steps.jwt.JwtAudienceMismatch |
401 |
トークンの検証でオーディエンス クレームが不合格だった場合。 |
steps.jwt.JwtIssuerMismatch |
401 |
トークンの検証で発行元クレームが不合格だった場合。 |
steps.jwt.JwtSubjectMismatch |
401 |
トークンの検証でサブジェクト クレームが不合格だった場合。 |
steps.jwt.KeyIdMissing |
401 |
Verify ポリシーが公開鍵のソースとして JWKS を使用しているが、署名付き JWT のヘッダーに kid プロパティが含まれてない場合。 |
steps.jwt.KeyParsingFailed |
401 |
指定された鍵情報で公開鍵を解析できない場合。 |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
JWT にアルゴリズム ヘッダーが含まれていない場合。 |
steps.jwt.NoMatchingPublicKey |
401 |
Verify ポリシーが JWKS を公開鍵のソースとして使用するが、署名付き JWT の kid は JWKS にリストされない場合。 |
steps.jwt.SigningFailed |
401 |
GenerateJWT で、HS384 または HS512 アルゴリズムの鍵が最小サイズより小さい場合。 |
steps.jwt.TokenExpired |
401 |
ポリシーが期限切れのトークンを検証しようとしている場合。 |
steps.jwt.TokenNotYetValid |
401 |
トークンがまだ有効になっていない場合。 |
steps.jwt.UnhandledCriticalHeader |
401 |
crit ヘッダーの Verify JWT ポリシーで見つかったヘッダーが KnownHeaders にリストされていない場合。 |
steps.jwt.UnknownException |
401 |
不明な例外が発生した場合。 |
steps.jwt.WrongKeyType |
401 |
鍵のタイプが正しくない場合。たとえば、楕円曲線アルゴリズムで RSA 鍵を指定した場合や、RSA アルゴリズムで曲線鍵を指定した場合など。 |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
InvalidNameForAdditionalClaim |
<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの型が登録済みの名前(kid 、iss 、sub 、aud 、iat 、exp 、nbf 、jti )のいずれかである場合、デプロイが失敗します。 |
build |
InvalidTypeForAdditionalClaim |
<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームが string 、number 、boolean 、map 型でない場合、デプロイが失敗します。 |
build |
MissingNameForAdditionalClaim |
<AdditionalClaims> 要素の子要素 <Claim> でクレームの名前が指定されていない場合、デプロイが失敗します。 |
build |
InvalidNameForAdditionalHeader |
このエラーは、<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの名前が alg または typ の場合に発生します。 |
build |
InvalidTypeForAdditionalHeader |
<AdditionalClaims> 要素の子要素 <Claim> で使用されているクレームの型が string 、number 、boolean 、map 型でない場合、デプロイが失敗します。 |
build |
InvalidValueOfArrayAttribute |
このエラーは、<AdditionalClaims> 要素の子要素 <Claim> 内の配列属性の値が true または false に設定されていない場合に発生します。 |
build |
InvalidValueForElement |
<Algorithm> 要素に指定された値がサポートされていない場合、デプロイが失敗します。 |
build |
MissingConfigurationElement |
このエラーは、<PrivateKey> 要素が RSA ファミリー アルゴリズムで使用されていない場合や、<SecretKey> 要素が HS ファミリー アルゴリズムで使用されていない場合に発生します。 |
build |
InvalidKeyConfiguration |
子要素 <Value> が <PrivateKey> 要素または <SecretKey> 要素で定義されていない場合、デプロイが失敗します。 |
build |
EmptyElementForKeyConfiguration |
<PrivateKey> 要素または <SecretKey> 要素の子要素 <Value> の ref 属性が空か、指定されていない場合、デプロイが失敗します。 |
build |
InvalidConfigurationForVerify |
このエラーは、<Id> 要素が <SecretKey> 要素内で定義されている場合に発生します。 |
build |
InvalidEmptyElement |
このエラーは、Verify JWT ポリシーの <Source> 要素が空の場合に発生します。存在する場合、Apigee フロー変数名で定義する必要があります。 |
build |
InvalidPublicKeyValue |
<PublicKey> 要素の子要素 <JWKS> で使用されている値が、RFC 7517 で指定されている有効な形式になっていない場合、デプロイが失敗します。 |
build |
InvalidConfigurationForActionAndAlgorithm |
<PrivateKey> 要素が HS ファミリー アルゴリズムで使用されている場合、または <SecretKey> 要素が RSA ファミリー アルゴリズムで使用されている場合、デプロイが失敗します。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "InvalidToken" |
JWT.failed |
障害の場合、すべての JWT ポリシーで同じ変数が設定されます。 | JWT.failed = true |
エラー レスポンスの例
ベスト プラクティスとして、エラー処理では、エラー レスポンスの errorcode
の部分をトラップすることをおすすめします。faultstring
のテキストには依存しないでください。この部分は変更される可能性があります。
障害ルールの例
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
XMLThreatProtection ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 |
XMLThreatProtection ポリシーは、さまざまな種類の ExecutionFailed エラーをスローできます。エラーのほとんどは、ポリシーで設定された特定のしきい値を超えた場合に発生します。これらのタイプのエラーには、次のようなものがあります。要素名の長さ、子の数、ノードの深さ、属性の数、属性名の長さ、他多数。詳細なリストについては、XMLThreatProtection ポリシーのランタイム エラーのトラブルシューティングをご覧ください。 |
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
このエラーは、XMLThreatProtection ポリシーの <Source> 要素で指定された入力メッセージ ペイロードが有効な XML ドキュメントでない場合に発生します。 |
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
このエラーは、<Source> 要素で指定されたメッセージ変数が次のいずれかである場合に発生します。
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
このエラーは、<Source> 要素がメッセージ型以外の変数に設定されている場合に発生します。 |
build |
デプロイエラー
なし。
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | xmlattack.XPT-SecureRequest.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
障害ルールの例
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
XMLtoJSON ポリシー
このセクションでは、このポリシーによってエラーがトリガーされたときに返される障害コードとエラー メッセージ、Apigee によって設定される障害変数について説明します。これは、障害に対処する障害ルールを作成するうえで重要な情報です。詳細については、ポリシーエラーについて知っておくべきことと障害の処理をご覧ください。
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
ExecutionFailed |
このエラーは、入力ペイロード(XML)が空の場合、または入力 XML が無効か形式が正しくない場合に発生します。 | build |
steps.xmltojson.InCompatibleTypes |
ExecutionFailed |
このエラーは、<Source> 要素で定義された変数の型と、<OutputVariable> 要素で定義された変数の型が異なる場合に発生します。<Source> 要素に含まれる変数の型と <OutputVariable> 要素に含まれる変数の型は一致している必要があります。 |
build |
steps.xmltojson.InvalidSourceType |
ExecutionFailed |
このエラーは、<Source> 要素の定義に使用される変数の型が無効な場合に発生します。有効な変数の型は message と string です。 |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
ExecutionFailed |
このエラーは、XML to JSON ポリシーの <Source> 要素で指定された変数が String 型であり、<OutputVariable> 要素が定義されていない場合に発生します。<Source> 要素で定義された変数が文字列型の場合、<OutputVariable> 要素は必須です。 |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
このエラーは、XML to JSON ポリシーの <Source> 要素で指定された message 変数が、次のいずれかである場合に発生します。
|
build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
EitherOptionOrFormat |
<Options> または <Format> のいずれかの要素が XML to JSON ポリシーに宣言されていない場合、API プロキシのデプロイは失敗します。 |
build |
UnknownFormat |
XML to JSON ポリシー内の <Format> 要素に不明な形式が定義されている場合、API プロキシのデプロイは失敗します。事前定義された形式には、xml.com 、yahoo 、google 、badgerFish があります。 |
build |
障害変数
ランタイム エラーが発生すると、次の変数が設定されます。詳細については、ポリシーエラーについて知っておくべきことをご覧ください。
変数 | 説明 | 例 |
---|---|---|
fault.name="fault_name" |
fault_name は、上記のランタイム エラーの表に記載されている障害の名前です。障害名は、障害コードの最後の部分です。 | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name は、障害が発生したポリシーのユーザー指定の名前です。 | xmltojson.XMLtoJSON-1.failed = true |
エラー レスポンスの例
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
障害ルールの例
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
XSLTransform ポリシー
ランタイム エラー
このエラーは、ポリシーの実行時に発生することがあります。
障害コード | HTTP ステータス | 原因 | 修正 |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
このエラーは、XSLTransform ポリシーの <Source> 要素で指定されたメッセージまたは文字列変数がスコープ外である場合(ポリシーが実行されている特定のフローで使用できない場合)か、解決できない(定義されていない)場合に発生します。 |
build |
steps.xsl.XSLEvaluationFailed |
500 |
このエラーは、入力 XML ペイロードが使用できないか、不正な形式の場合に発生します。また、XSLTransform ポリシーが XSL ファイルに指定された変換ルールに基づいて入力 XML ファイルを変換できない場合にも発生します。XSLTransform ポリシーは、さまざまな原因で失敗します。エラー メッセージに含まれている失敗の理由から、原因についてより詳しい情報を得ることができます。 | build |
デプロイエラー
以下のエラーは、このポリシーを含むプロキシをデプロイするときに発生することがあります。
エラー名 | 原因 | 修正 |
---|---|---|
XSLEmptyResourceUrl |
XSLTransform ポリシーの <ResourceURL> 要素が空の場合、API プロキシのデプロイが失敗します。 |
build |
XSLInvalidResourceType |
XSLTransform ポリシーの <ResourceURL> 要素に指定されたリソースタイプが xsl タイプでない場合、API プロキシのデプロイが失敗します。 |
build |