CallEndpoint

CallEndpoint アクションは、HTTP エンドポイントを呼び出します。

以下の表では、CallEndpoint アクションのパラメーターを示します。

表 1. CallEndpoint アクションのパラメーター
名前 データ・タイプ 関係 必須
method 列挙型 属性 はい 使用できる値:
  • GET
  • POST
  • PUT
  • 削除
  • PATCH
URL ストリング 属性 はい エンドポイントのベース URL (照会パラメーターを除く)。
savePath ストリング 属性 いいえ 応答は、以下の形式の JSON オブジェクトとして保管されます。
/response
{
status_code: 200,
status_message: "OK",
headers: {
"Date": "Tue, 16 Jun 2020 17:31:29 GMT",
"Content-Type": "application/json",
},
body: ...
}

savePath の値を指定しなかった場合、エンドポイントの応答はデフォルトの場所に保存されません。 応答を保管する場合は、savePath の値を指定する必要があります。

sslConfiguration SSLConfiguration サブエレメント いいえ 詳しくは、 SSLConfigurationを参照してください。
認証 認証 サブエレメント いいえ 認証オブジェクトは、以下のタイプのいずれかでなければなりません。
queryParameters QueryParameter サブエレメント いいえ 複数の照会パラメーターを含めることができます。 詳しくは、 QueryParameterを参照してください。
requestHeaders RequestHeaders サブエレメント いいえ 複数の要求ヘッダーを含めることができます。 詳しくは、 RequestHeaderを参照してください。
requestCookie RequestCookie サブエレメント いいえ New in V2_1 複数のリクエストクッキーを持つことができます。 詳細はRequestCookieを参照
body

RequestBody

UrlEncodedFormRequestBody

XmlRequestBody

サブエレメント いいえ 本体は、以下のいずれかのタイプでなければなりません。

以下の表では、SSLConfiguration のパラメーターを示します。

表 2. SSLConfiguration の構造
名前 データ・タイプ 必須
プロトコル ストリング いいえ 使用する SSL プロトコル。 デフォルトは TLSv1.2 です。
allowUntrustedServerCertificate ブール値 いいえ 信頼できないサーバー証明書を許可するかどうかを示します。 デフォルトは Falseです。

XML の例:

この例では、信頼できないサーバー証明書が許可されます。

<SSLConfiguration allowUntrustedServerCertificate="true" />

以下の表では、BasicAuthentication のパラメーターを示します。

表 3. BasicAuthentication の構造
名前 データ・タイプ 必須
ユーザー名 ストリング はい
パスワード ストリング いいえ

XML の例:

この例は認証ユーザー名とパスワードを設定しています。

<BasicAuthentication username="${/username}" password="${/password}" />

以下の表では、BearerAuthentication のパラメーターを示します。

表 4. BearerAuthentication の構造
名前 データ・タイプ 必須
トークン ストリング はい アクセス・トークン。

XML の例:

この例は認証用のアクセス・トークンを設定しています。

<BearerAuthentication token="${/access_token}" />

以下の表では、DigestAuthentication のパラメーターを示します。

表 5. DigestAuthentication の構造
名前 データ・タイプ 必須
ユーザー名 ストリング はい
パスワード ストリング はい
realm ストリング いいえ
nonce ストリング いいえ
algorithm ストリング いいえ
qop ストリング いいえ
cnonce ストリング いいえ
nonceCount ストリング いいえ

XML の例:

この例は、認証用のユーザー名とパスワードを設定しています。

<DigestAuthentication username="${/public_key}" password="${/private_key}" />

V2 の新機能

Akamai EdgeGrid 認証のパラメーターを以下の表に示します。

表 6. Akamai EdgeGrid 認証の構造
名前 データ・タイプ 必須
accessToken ストリング はい
clientToken ストリング はい
clientSecret ストリング はい

V2 の新機能

Hawk 認証のパラメーターを以下の表に示します。

表 7. Hawk 認証の構造
名前 データ・タイプ 必須
keyID ストリング はい
キー ストリング はい
algorithm ストリング はい
hash ストリング いいえ
ext ストリング いいえ
app ストリング いいえ
dlg ストリング いいえ

以下の表では、QueryParameter のパラメーターを示します。

表 8. QueryParameter の構造
名前 データ・タイプ 必須
名前 ストリング はい
ストリング はい  
omitIfEmpty ブール値 いいえ 値が空の場合は、パラメーターを省略します。

XML の例:

この例では、照会の名前と値を設定しています。値が空の場合は、パラメーターは省略されます。

<QueryParameter name="stream_position" value="${/bookmark}" omitIfEmpty="true" />

以下の表では、RequestHeader のパラメーターを示します。

表 9. RequestHeader の構造
名前 データ・タイプ 必須
名前 ストリング はい
ストリング いいえ  
omitIfEmpty ブール値 いいえ 値が空の場合は、ヘッダーを省略します。

XML の例:

この例は、要求ヘッダーの名前と値を設定しています。

<RequestHeader name="authorization" value="client_id:${/client_id}, client_secret:${/client_secret}" />

V2_1 の新機能

リクエストクッキーのパラメータを以下の表に示す。

表 10. RequestCookie構造体
名前 データ・タイプ 必須
名前 ストリング はい
ストリング はい  
ドメイン ストリング いいえ クッキーのドメインを設定します。 ドメインのデフォルト値はcallendpoint url属性。 デフォルト値はurl属性。 クッキーが返すドメインURLと異なる場合は、ドメインを指定する必要があります。
パス ストリング いいえ クッキーのパスを設定します。 デフォルト値はurl属性。 クッキーが返すパスURLと一致しない場合は、パスを指定する必要があります。
secret ブール値 いいえ 値フィールドを暗号化する。 デフォルト値はfalseに設定されている。

XML の例:

この例では、リクエスト・クッキーの必須フィールド(名前と値)を設定します。
<RequestCookie name=” ${/<savePath>/cookies/<cookie_name>/name}” value=”${/< savePath>/cookies/ <cookie_name> /value}”>
この例では、クッキーのすべての必須フィールドとオプション・フィールドを設定します。
<RequestCookie name=” ${/<savePath>/cookies/<cookie_name>/name}” value=”${/< savePath>/cookies/ <cookie_name> /value}” domain=”${/<savePath>/cookies/<cookie_name>/domain}”> path = ”  ${/<savePath>/cookies/<cookie_name>/path}” secret = “true”>

以下の表では、RequestBody のパラメーターを示します。

表 11. RequestBody の構造
名前 データ・タイプ 必須
タイプ ストリング はい 有効な HTTP 要求コンテンツ・タイプでなければなりません。 例: application/json
encoding ストリング はい 有効な HTTP 本体のエンコード・タイプである必要があります。 例: UTF-8
content ストリング はい <RequestBody> エレメントの開始タグと終了タグの間に、本文の内容を含めます。

XML の例:

この例は、要求本体のコンテンツ・タイプ、本体のエンコード、およびコンテンツを設定しています。

<RequestBody type="application/json" encoding="UTF-8">{ "grant_type": "client_credentials" }</RequestBody>

以下の表では、UrlEncodedFormRequestBody のパラメーターを示します。

表 12. UrlEncodedFormRequestBody の構造
名前 データ・タイプ 必須
parameters Map <String, String> はい 名前/値のペアのコレクション。

XML の例:

この例では、URL エンコードされたフォーム要求本体の名前/値のペアを設定しています。

<UrlEncodedFormRequestBody>
                <Parameter name="grant_type" value="urn:ietf:params:oauth:grant-type:jwt-bearer" />
                <Parameter name="client_id" value="${/client_id}" />
                <Parameter name="client_secret" value="${/client_secret}" />
                <Parameter name="assertion" value="${/jwt_assertion}" />
            </UrlEncodedFormRequestBody>

以下の表では、XmlRequestBody のパラメーターを示します。

表13. XmlRequestBody の構造
名前 データ・タイプ 必須
タイプ ストリング いいえ 有効な HTTP 要求コンテンツ・タイプでなければなりません。 例: application/json
encoding ストリング いいえ 有効な HTTP 本体のエンコード・タイプである必要があります。 例: UTF-8
content XML はい 本体の実際の XML コンテンツは、サブエレメントとして <XmlRequestBody> エレメント内にネストされている必要があります。

XML の例:

この例では、XML 要求本体のコンテンツを設定しています。

<XmlRequestBody>
                <authRequest>
                    <maaS360AdminAuth>
                        <billingID>${/billing_id}</billingID>
                        <platformID>${/platform_id}</platformID>
                        <appID>${/app_id}</appID>
                        <appVersion>${/app_version}</appVersion>
                        <appAccessKey>${/app_access_key}</appAccessKey>
                        <userName>${/username}</userName>
                        <password>${/password}</password>
                    </maaS360AdminAuth>
                </authRequest>
            </XmlRequestBody>

XML の例:

このアクション呼び出しは、要求ヘッダーと要求本体を使用して https://${/host}/auth/oauth2/token に対する POST 要求を実行し、その応答を状態内の /get_access_token に保存します。

<CallEndpoint url="https://${/host}/auth/oauth2/token" method="POST" savePath="/get_access_token">
    <RequestHeader name="authorization" value="client_id:${/client_id}, client_secret:${/client_secret}" />
    <RequestBody type="application/json" encoding="UTF-8">{ "grant_type": "client_credentials" }</RequestBody>
</CallEndpoint>