POST実行処理

オペレーション名

POST実行

機能概要

HTTPのPOSTメソッドでリクエストを実行します。

データモデル

本コンポーネントのデータモデルはXML型です。
入出力のスキーマについては、「スキーマ」を参照してください。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 省略可 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。
  • [データ入力元][ファイル]を指定した場合、[入力データ]を指定する必要はありません。指定した場合は無視されます。
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
パス 省略可 使用可 [接続先][URL]に入力したURLからの相対パスを指定します。
  • lightbulb[エンコード]で選択または入力したエンコードでURLエンコーディングされます。
エンコード 省略可 使用可 URLエンコーディングに使用するエンコードを選択または入力します。

入力する場合は、Java SE Runtime Environment 8でサポートされているエンコードを指定します。
詳細については、「Supported Encodings」(http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html)を参照してください。
  • デフォルト値は「UTF-8」で、省略した場合は「UTF-8」が設定されます。
クエリパラメータ 省略可 - URLに連結させるクエリパラメータの名前と値を指定します。

各クエリパラメータは以下のボタンで操作することができます。
  • [追加]:
    クエリパラメータを追加します。
  • [上へ]:
    選択しているクエリパラメータの順序を一つ上に上げます。
  • [下へ]:
    選択しているクエリパラメータの順序を一つ下に下げます。
  • [削除]:
    クエリパラメータを削除します。
  • lightbulb[エンコード]で選択または入力したエンコードでURLエンコーディングされます。
クエリパラメータ/名前 省略可 使用可 クエリパラメータの名前を入力します。
  • 省略した場合、クエリパラメータはURLに連結されません。
クエリパラメータ/値 省略可 使用可 クエリパラメータの値を入力します。  
リクエスト設定
項目名 必須/省略可 変数の使用 説明 備考
データ入力元 必須 使用不可 リクエストボディの入力元を選択します。
  • [データ]:(デフォルト)
    入力データを入力元とします。
  • [ファイル]:
    [ファイルパス]で指定したファイルを入力元とします。
 
データ形式 必須 使用不可 リクエストボディのデータ形式を選択します。
  • [XML]:(デフォルト)
    XML形式で処理します。
    Content-TypeヘッダのMIMEタイプは「application/xml」になります。
  • [JSON]:
    JSON形式で処理します。
    Content-TypeヘッダのMIMEタイプは「application/json」になります。
  • [フォーム]:
    フォーム形式で処理します。
    Content-TypeヘッダのMIMEタイプは「application/x-www-form-urlencoded」になります。
  • [マルチパートフォーム]:
    マルチパートフォーム形式で処理します。
    Content-TypeヘッダのMIMEタイプは「multipart/form-data」になります。
  • [データ入力元][データ]を選択した場合、表示されます。
  • 選択したデータ形式により入力スキーマが異なります。
  • 入力スキーマについては、「入力スキーマ」を参照してください。
ファイルパス 必須 使用可 リクエストボディの入力元となるファイルのパスを選択または入力します。

[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
  • [データ入力元][ファイル]を選択した場合、表示されます。
  • lightbulbContent-TypeヘッダのMIMEタイプはファイル名の拡張子から自動で判別してセットされます。判別できない場合、「application/octet-stream」になります。
  • ファイルパスはSkyOnDemandファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のSkyOnDemandファイルシステムの使用禁止文字は使用できません。
フォーム設定 省略可 - リクエストボディとなるフォームのパラメータを指定します。

各パラメータは以下のボタンで操作することができます。
  • [追加]:
    パラメータを追加します。
  • [上へ]:
    選択しているパラメータの順序を一つ上に上げます。
  • [下へ]:
    選択しているパラメータの順序を一つ下に下げます。
  • [削除]:
    パラメータを削除します。
  • [データ形式][フォーム]の場合、表示されます。
フォーム設定/名前 省略可 環境変数のみ使用可 フォーム名を入力します。  
マルチパートフォーム設定 省略可 - リクエストボディとなるマルチパートを指定します。

各パートは以下のボタンで操作することができます。
  • [追加]:
    パートを追加します。
  • [上へ]:
    選択しているパートの順序を一つ上に上げます。
  • [下へ]:
    選択しているパートの順序を一つ下に下げます。
  • [削除]:
    パートを削除します。
  • [データ形式][マルチパートフォーム]の場合、表示されます。
マルチパートフォーム設定/名前 省略可 環境変数のみ使用可 マルチパートのパート名を入力します。  
マルチパートフォーム設定/種類 省略可 使用不可 マルチパートのパートの種類を選択します。
  • [文字列]:(デフォルト)
    入力データで指定した文字列をパートのボディとします。
  • [ファイル]:
    入力データで指定したファイルから読み取ったデータをパートのボディとします。
 
種類がファイルの場合パートヘッダにContent-Lengthヘッダを付与する 省略可 使用不可 [マルチパートフォーム設定/種類][ファイル]の場合、入力データで指定したファイルのサイズを値として、パートヘッダにContent-Lengthヘッダを付与するかどうかを選択します。
  • [チェックあり]:
    Content-Lengthヘッダを付与します。
  • [チェックなし]:(デフォルト)
    Content-Lengthヘッダを付与しません。
  • [データ形式][マルチパートフォーム]の場合、表示されます。
プロパティアクション
項目名 説明 備考
JSONファイルを指定してスキーマを設定 JSONファイルを指定して入力元のスキーマを設定します。 [データ形式][JSON]を選択した場合、表示されます。
レスポンス設定
項目名 必須/省略可 変数の使用 説明 備考
データ出力先 必須 使用不可 レスポンスボディの出力先を選択します。
  • [データ]:(デフォルト)
    結果データに出力します。[データ形式]で選択した形式で出力します。
  • [ファイル]:
    [ファイルパス]で指定したファイルに出力します。
 
データ形式 必須 使用不可 レスポンスボディのデータ形式を選択します。
  • [XML]:(デフォルト)
    XML形式で処理します。
  • [JSON]:
    JSON形式で処理します。
  • [その他のデータ形式]:
    テキスト形式またはバイナリ形式で処理します。
  • [データ出力先][データ]を選択した場合、表示されます。
  • 選択したデータ形式により出力スキーマが異なります。
  • 出力スキーマについては、「出力スキーマ」を参照してください。
ファイルパス 必須 使用可 レスポンスボディを出力するファイルのパスを選択または入力します。

[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。
  • [データ出力先][ファイル]を選択した場合、表示されます。
  • ファイルパスはSkyOnDemandファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のSkyOnDemandファイルシステムの使用禁止文字は使用できません。
XMLとして不正な文字を削除する 省略可 使用不可 JSON形式のデータの解析中にXMLとして不正な文字列が見つかった場合に自動で削除するかどうかを選択します。
  • [チェックあり]:
    XMLとして不正な文字列を削除します。
  • [チェックなし]:(デフォルト)
    XMLとして不正な文字列を削除しません。
  • [データ形式][JSON]を選択した場合、表示されます。
自動でリダイレクトする 省略可 使用不可 レスポンスにリダイレクト先が含まれている場合、自動でリダイレクトするかどうかを選択します。
  • [チェックあり]:
    自動でリダイレクトします。
  • [チェックなし]:(デフォルト)
    自動でリダイレクトしません。
レスポンスのステータスコードが4xx、5xxの場合エラーにする 省略可 使用不可 レスポンスのステータスコードが「4xx」または「5xx」の場合、処理をエラーにするかどうかを選択します。
  • [チェックあり]:
    処理をエラーにします。
  • [チェックなし]:(デフォルト)
    処理をエラーにしません。
 
プロパティアクション
項目名 説明 備考
JSONファイルを指定してスキーマを設定 JSONファイルを指定して出力先のスキーマを設定します。 [データ形式][JSON]を選択した場合、表示されます。
ヘッダ設定
項目名 必須/省略可 変数の使用 説明 備考
リクエストヘッダ 省略可 - リクエストに含めるHTTPヘッダを指定します。

各リクエストヘッダは以下のボタンで操作することができます。
  • [追加]:
    リクエストヘッダを追加します。
  • [上へ]:
    選択しているリクエストヘッダの順序を一つ上に上げます。
  • [下へ]:
    選択しているリクエストヘッダの順序を一つ下に下げます。
  • [削除]:
    リクエストヘッダを削除します。
 
リクエストヘッダ/名前 省略可 使用可 リクエストヘッダの名前を入力します。
  • 省略した場合、リクエストヘッダはリクエストに含まれません。
リクエストヘッダ/値 省略可 使用可 リクエストヘッダの値を入力します。  
レスポンスヘッダ 省略可 - レスポンスに含まれるHTTPヘッダのうち、取得したいヘッダの名前を指定します。

各レスポンスヘッダは以下のボタンで操作することができます。
  • [追加]:
    レスポンスヘッダを追加します。
  • [上へ]:
    選択しているレスポンスヘッダの順序を一つ上に上げます。
  • [下へ]:
    選択しているレスポンスヘッダの順序を一つ下に下げます。
  • [削除]:
    レスポンスヘッダを削除します。
  • lightbulbレスポンスヘッダは[名前]で入力した名前のコンポーネント変数として定義されます。
レスポンスヘッダ/名前 省略可 環境変数のみ使用可 レスポンスヘッダの名前を入力します。
  • 大文字小文字は区別しません。
  • 省略した場合、コンポーネント変数として定義されません。
  • 名前の前後に半角空白・タブ・改行がある場合、トリムしてコンポーネント変数として定義されます。
認証設定
項目名 必須/省略可 変数の使用 説明 備考
認証 必須 使用不可 リクエスト送信時の認証方式を選択します。  
ユーザ 省略可 使用可 認証に使用するユーザ名を入力します。
  • [認証][ベーシック認証][ダイジェスト認証]または[WSSE認証]を選択した場合、表示されます。
パスワード 省略可 使用可 認証に使用するパスワードを入力します。
  • [認証][ベーシック認証][ダイジェスト認証]または[WSSE認証]を選択した場合、表示されます。
グローバルリソース 省略可 使用不可 認証に使用するグローバルリソースを選択します。
  • [認証][グローバルリソース]を選択した場合、表示されます。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 省略可 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

[リクエスト設定][データ形式]の設定により、スキーマが異なります。

[XML]の場合

リクエストボディのXMLデータによって異なります。

[JSON]の場合

リクエストボディがJSON形式のデータの場合、入力データをXML形式からJSON形式に変換して処理されます。
JSON形式のデータに変換するためのXML形式のスキーマは以下の通りです。
<--ルートがオブジェクト型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="object">
  <JSONメンバの名前 type="JSONの型を表す属性値">値</JSONメンバの名前>
    :
</root>

<-- ルートが配列型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</root>

<-- JSONメンバの名前がXMLの要素名として不正な場合 -->
<?xml version="1.0"?>
<root type="object">
  <member type="JSONの型を表す属性値" name="JSONメンバの名前">値</member>
    :
</root>
要素名 属性名 説明 備考
root - JSONオブジェクトをラップするルート要素です。  
type JSONの型を表す属性値を指定します。
属性値 説明
object JSONのオブジェクト型を表します。

例:root要素のtype属性値が「object」のXMLデータ
<root type="object">
  <name type="string">Suzuki</name>
</root>
上記例のXMLデータは以下のJSONオブジェクトに変換されます。
{"name":"Suzuki"}
array JSONの配列型を表します。

例:root要素のtype属性値が「array」のXMLデータ
<root type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</root>
上記例のXMLデータは以下のように配列型のJSONオブジェクトに変換されます。
["apple","grape","orange"]
  • type属性がない場合、または属性値が空の場合はオブジェクト型になります。
JSONメンバの名前 - JSONメンバを表す要素です。  
type JSONの型を表す属性値を指定します。
属性値 説明
string JSONの文字列型を表します。

例:type属性値が「string」のXMLデータ
<name type="string">Suzuki</name>
上記例のXMLデータは以下のように文字列型の値を持ったJSONメンバに変換されます。
{"name":"Suzuki"}
number JSONの数値型を表します。

例:type属性値が「number」のXMLデータ
<age type="number">37</age>
上記例のXMLデータデータは以下のように数値型の値を持ったJSONメンバに変換されます。
{"age":37}
boolean JSONの真偽値型を表します。

例:type属性値が「boolean」のXMLデータ
<success type="boolean">true</success>
上記例のXMLデータは以下のように真偽値型の値を持ったJSONメンバに変換されます。
{"success":true}
object JSONのオブジェクト型を表します。

例:type属性値が「object」のXMLデータ
<name type="object">
  <first type="string">Ichiro</first>
  <last type="string">Suzuki</last>
</name>
上記例のXMLデータは以下のようにオブジェクト型の値を持ったJSONメンバに変換されます。
{"name":{"first":"Ichiro","last":Suzuki"}}
array JSONの配列型を表します。

JSONの配列型の要素はXMLの「element」要素を指定します。
JSONの配列型の要素の型がオブジェクト型の場合、「element」要素の子要素にJSONオブジェクトを表すスキーマを持ったXMLデータ指定し、それ以外の型の場合、「element」要素の要素内容に値を指定します。

JSONの配列型のスキーマは以下の通りです。
<JSONメンバの名前 type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</JSONメンバの名前>

例:type属性値が「array」のXMLデータ
<fruits type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</fruits>
上記例のXMLデータは以下のように配列型の値を持ったJSONメンバに変換されます。
{"fruits":["apple","grape","orange"]}
null JSONのnull型を表します。

例:type属性値が「null」のXMLデータ
<name type="null"/>
上記例のXMLデータは以下のようにnull型の値を持ったJSONメンバに変換されます。
{"name":null}
  • type属性がない場合、または属性値が空の場合は文字列型になります。
  • type属性が「null」の場合、要素内容は無視されます。
element - 配列の要素を表す要素です。  
type JSONの型を表す文字列を指定します。
JSONメンバの名前のtype属性と同じ属性値を指定します。
  • type属性がない場合、または属性値が空の場合は文字列型になります。
member - JSONメンバの名前がXMLの要素名として不正な場合、代わりに指定する要素です。  
type JSONの型を表す文字列が出力されます。
JSONメンバの名前のtype属性と同じ属性値を指定します。
  • type属性がない場合、または属性値が空の場合は文字列型になります。
name JSONメンバの名前を指定します。

例:member要素を指定してname属性値にJSONメンバの名前を指定したXMLデータ
<member type="string" name="1name">Suzuki</member>
上記例のXMLデータは以下のJSONメンバに変換されます。
{"1name":"Suzuki"}
  • type属性がない場合、または属性値が空の場合は文字列型になります。

[フォーム]の場合

<?xml version="1.0"?>
<request>
  <body>
    <form>
      <フォームのパラメータ名>
        <value>フォームのパラメータ値</value>
      </フォームのパラメータ名>
        :
      <-- フォームのパラメータ名がXMLの要素名として不正な場合 -->
      <parameter name="フォームのパラメータ名">
        <value>フォームのパラメータ値</value>
      </parameter>
        :
    </form>
  </body>
</request>
要素名 属性名 説明 備考
request -    
body -    
form -    
フォームのパラメータ名 - フォームのパラメータ名を表す要素です。
  • [エンコード]で指定したエンコードでURLエンコーディングされます。
parameter - フォームのパラメータ名がXMLの要素名として不正な場合の要素です。
  • フォームのパラメータ名がXMLの要素名として不正な場合、parameter要素でフォームのパラメータ名を設定します。
name フォームのパラメータ名を入力します。
  • [エンコード]で指定したエンコードでURLエンコーディングされます。
value - フォームのパラメータ値を入力します。
  • [エンコード]で指定したエンコードでURLエンコーディングされます。

例: 入力データが以下の場合
<?xml version="1.0"?>
<request>
  <body>
    <form>
      <firstname>
        <value>一朗</value>
      </firstname>
      <lastname>
        <value>鈴木</value>
      </lastname>
    </form>
  </body>
</request>
上記XMLデータの場合、リクエストボディに格納されるフォームデータは以下のようになります。
Content-Type: application/x-www-form-urlencoded; charset="UTF-8"

firstname=%E4%B8%80%E6%9C%97&lastname=%E9%88%B4%E6%9C%A8

[マルチパートフォーム]の場合

<?xml version="1.0"?>
<request>
  <body>
    <multipart>
      <-- 種類が「文字列」の場合 -->
      <パート名>
        <value>フォームの値</value>
        <mimeType>パートのContent-Typeヘッダに入るMIMEタイプ</mimeType>
      </パート名>
        :
      <-- 種類が「ファイル」の場合 -->
      <パート名>
        <file>
          <path>ファイルのパス</path>
        </file>
        <mimeType>パートのContent-Typeヘッダに入るMIMEタイプ</mimeType>
      </パート名>
        :
      <-- パート名がXMLの要素名として不正な場合 -->
      <part name="パート名">
        <value>パートの値</value>
        <mimeType>パートのContent-Typeヘッダに入るMIMEタイプ</mimeType>
      </part>
        :
    </multipart>
  </body>
</request>
要素名 属性名 説明 備考
request -    
body -    
multipart -    
パート名 - パート名を表す要素です。
  • [エンコード]で指定したエンコードでエンコーディングされます。
part - パート名がXMLの要素名として不正な場合の要素です。
  • パート名がXMLの要素名として不正な場合、part要素でパートを設定します。
name パート名を入力します。
  • [エンコード]で指定したエンコードでエンコーディングされます。
mimeType - パートのContent-Typeヘッダに入るMIMEタイプを入力します。
  • lightbulb[マルチパートフォーム設定/種類][文字列]の場合、以下の備考があります。
    • mimeType要素がない、または要素内容が空の場合、Content-Typeヘッダを付与しません。
    • Content-Typeヘッダのcharsetパラメータは、[エンコード]で指定した値が設定されます。
  • lightbulb[マルチパートフォーム設定/種類][ファイル]の場合、以下の備考があります。
    • mimeType要素がない、または要素内容が空の場合、pathに入力されたパスに含まれるファイル名の拡張子から自動で判別して入力されます。
    • ファイル名の拡張子から判別できない場合、「application/octet-stream」になります。
value - パートのボディとなる文字列を入力します。
  • [エンコード]で指定したエンコードでエンコーディングされます。
file -    
path - パートのボディとなるファイルのパスを入力します。
  • ファイルパスはSkyOnDemandファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のSkyOnDemandファイルシステムの使用禁止文字は使用できません。
  • パスに含まれるファイル名は[エンコード]で指定したエンコードでエンコーディングされます。

例: 入力データが以下の場合
<?xml version="1.0"?>
<request>
  <body>
    <multipart>
      <firstname>
        <value>Ichiro</value>
      </firstname>
      <lastname>
        <value>Suzuki</value>
      </lastname>
      <attachment>
        <file>
          <path>/data/profile.jpg</path>
        </file>
      </attachment>
    </multipart>
  </body>
</request>
上記XMLデータの場合、リクエストボディに格納されるマルチパートフォームデータは以下のようになります。
Content-Type: multipart/form-data; boundary=<バウンダリ>

--<バウンダリ>
Content-Disposition: form-data; name="firstname"

Ichiro

--<バウンダリ>
Content-Disposition: form-data; name="lastname"

Suzuki

--<バウンダリ>
Content-Disposition: form-data; name="attachment"; filename="profile.jpg"
Content-Type: image/jpeg

</data/profile.jpg のデータ>

--<バウンダリ>--

出力スキーマ

[レスポンス設定][データ形式]の設定により、スキーマが異なります。

[XML]の場合

レスポンスボディのXMLデータによって異なります。

[JSON]の場合

レスポンスボディがJSON形式のデータの場合、XML形式に変換されて結果データに出力されます。
JSON形式からXML形式に変換した場合のスキーマは以下の通りです。
<--ルートがオブジェクト型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="object">
  <JSONメンバの名前 type="JSONの型を表す属性値">値</JSONメンバの名前>
    :
</root>

<-- ルートが配列型のJSONオブジェクトの場合 -->
<?xml version="1.0"?>
<root type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</root>

<-- JSONメンバの名前がXMLの要素名として不正な場合 -->
<?xml version="1.0"?>
<root type="object">
  <member type="JSONの型を表す属性値" name="JSONメンバの名前">値</member>
    :
</root>
要素名 属性名 説明 備考
root - JSONオブジェクトをラップするルート要素です。  
type JSONの型を表す属性値が設定されます。
属性値 説明
object JSONのオブジェクト型を表します。

例:オブジェクト型からなるJSONオブジェクト
{"name":"Suzuki"}
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="object">
  <name type="string">Suzuki</name>
</root>
array JSONの配列型を表します。

例:配列型からなるJSONオブジェクト
["apple","grape","orange"]
上記例のJSONオブジェクトは以下のXMLデータに変換されて出力されます。
<root type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</root>
 
JSONメンバの名前 - JSONメンバを表す要素です。  
type JSONの型を表す属性値が設定されます。
属性値 説明
string JSONの文字列型を表します。

例:文字列型の値を持つJSONメンバ
{"name":"Suzuki"}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<name type="string">Suzuki</name>
number JSONの数値型を表します。

例:数値型の値を持つJSONメンバ
{"age":37}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<age type="number">37</age>
boolean JSONの真偽値型を表します。

例:真偽値型の値を持つJSONメンバ
{"success":true}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<success type="boolean">true</success>
object JSONのオブジェクト型を表します。

例:オブジェクト型の値を持つJSONメンバ
{"name":{"first":"Ichiro","last":Suzuki"}}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<name type="object">
  <first type="string">Ichiro</first>
  <last type="string">Suzuki</last>
</name>
array JSONの配列型を表します。

JSONの配列型の要素は「element」要素で表されます。
JSONの配列型の要素の型がオブジェクト型の場合、JSONオブジェクトを表すスキーマを持ったXMLデータが「element」要素の子要素に出力され、それ以外の型の場合、値が「element」要素の要素内容に出力されます。

スキーマは以下の通りです。
<JSONメンバの名前 type="array">
  <element type="JSONの型を表す属性値">値</element>
    :
</JSONメンバの名前>

例:配列型の値を持つJSONメンバ
{"fruits":["apple","grape","orange"]}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<fruits type="array">
  <element type="string">apple</element>
  <element type="string">grape</element>
  <element type="string">orange</element>
</fruits>
null JSONのnull型を表します。

例:null型の値を持つJSONメンバ
{"name":null}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<name type="null"/>
 
element - 配列の要素を表す要素名です。  
type JSONの型を表す文字列が出力されます。
JSONメンバの名前のtype属性と同じ属性値が設定されます。
 
member - JSONメンバの名前がXMLの要素名として不正な場合に使われる要素名です。  
type JSONの型を表す文字列が出力されます。
JSONメンバの名前のtype属性と同じ属性値が設定されます。
 
name JSONメンバの名前が出力されます。

例:XMLの要素名として不正な名前を持つJSONメンバ
{"1name":"Suzuki"}
上記例のJSONメンバは以下のXMLデータに変換されて出力されます。
<member type="string" name="1name">Suzuki</member>
 

[その他のデータ形式]の場合

<?xml version="1.0"?>
<response>
  <body>
    <content>レスポンスボディのデータ</content>
  </body>
</response>
要素名 属性名 説明 備考
response -    
body -    
content - レスポンスボディのデータです。 レスポンスのContent-Typeヘッダの値によってデータが変わります。
  • 以下のいずれかの条件に一致した場合、レスポンスボディをテキストデータとみなしContent-Typeヘッダのcharsetパラメータの値でエンコーディングした文字列を出力されます。
    • Content-Typeヘッダのタイプが「text」である。
    • Content-Typeヘッダのサブタイプが「xml」または「json」で終わる。
  • 上記条件に一致しない場合、レスポンスボディをバイナリデータとみなしContent-Typeヘッダのcharsetパラメータの値をもとに生成したバイト列のデータをBase64形式に変換した文字列が出力されます。
  • Content-Typeヘッダがない、またはcharsetパラメータがない場合、デフォルトで「ISO-8859-1」になります。

Mapperでの入力スキーマ読み込み

[リクエスト設定][データ形式]の設定により、入力スキーマの読み込みが異なります。

[XML]の場合

スキーマは手動で読み込む必要があります。
読み取りを行うデータのスキーマを指定してください。

[JSON]の場合

[JSONファイルを指定してスキーマを設定]で設定した場合、スキーマは自動で読み込まれます。

[フォーム]の場合

スキーマは自動で読み込まれます。

[マルチパートフォーム]の場合

スキーマは自動で読み込まれます。
lightbulb自動で読み込まれたスキーマは編集可能です。
詳細については、「スキーマ編集」を参照してください。

Mapperでの出力スキーマ読み込み

[レスポンス設定][データ形式]の設定により、出力スキーマの読み込みが異なります。

[XML]の場合

スキーマは手動で読み込む必要があります。
読み取りを行うデータのスキーマを指定してください。

[JSON]の場合

[JSONファイルを指定してスキーマを設定]で設定した場合、スキーマは自動で読み込まれます。

[その他のデータ形式]の場合

スキーマは自動で読み込まれます。
lightbulb自動で読み込まれたスキーマは編集可能です。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理に対応しています。

トランザクション

トランザクションはサポートしていません。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
status_code レスポンスのHTTPステータスコードが格納されます。
  • デフォルト値はnullです。
reason_phrase レスポンスのHTTPステータスコードに関連したテキストフレーズが格納されます。
  • デフォルト値はnullです。
error_response_body レスポンスのステータスコードが「4xx」または「5xx」の場合のレスポンスボディが格納されます。
  • デフォルト値はnullです。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • SkyOnDemandのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

自動リダイレクトについて

[自動でリダイレクトする]にチェックを入れた場合の挙動は以下になります。

レスポンスのステータスコードが400以上の場合の結果データについて

レスポンスのステータスコードが400以上の場合の場合、レスポンスボディを結果データに出力します。
その際、レスポンスのContent-Typeヘッダの値によって結果データのスキーマが異なります。

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
リソースの必須項目が指定されていません。:<プロパティ名>
[接続先][<プロパティ名>]が指定されていません。 [接続先][<プロパティ名>]を指定してください。
InvalidPropertyConfigurationException
<プロパティ名>が指定されていません。
[<プロパティ名>]が指定されていません。 [<プロパティ名>]を指定してください。
FileIsDirectoryException [ファイルパス]に入力されたパスがディレクトリです。 [ファイルパス]にはファイルパスを入力してください。
PathIsNotAbsoluteException [パス]または[ファイルパス]に入力されたパスが相対パスです。 [パス]または[ファイルパス]には絶対パスを入力してください。
PathIsRequiredException マルチパートフォームデータの送信時に、パートのボディに格納するデータのファイルを示すパスが入力データに設定されていません。 入力データのpath要素にパスが設定されているか確認してください。
RestServerException HTTPサーバからステータスコードが「5xx」のレスポンスが返されました。 エラーメッセージの内容を参考に[接続先]に指定しているHTTPサーバの状態やリクエストの内容を確認してください。
RestClientException HTTPサーバからステータスコードが「4xx」のレスポンスが返されました。 エラーメッセージの内容を参考に[パス]で入力したパスやリクエストの内容を確認してください。
org.apache.http.client.ClientProtocolException リクエスト送信時にエラーが発生しました。 エラーメッセージの内容を確認してください。
org.apache.http.conn.HttpHostConnectException HTTPサーバまたはプロキシサーバに接続できませんでした。 接続先のHTTPサーバまたはプロキシサーバに接続可能かどうか確認してください。
org.apache.http.conn.ConnectTimeoutException HTTPサーバまたはプロキシサーバとの接続時にタイムアウトが発生しました。 [接続先][接続タイムアウト]の設定を確認してください。
java.net.SocketTimeoutException HTTPサーバに接続後、リクエストを送信してからレスポンスを受信するまでの応答でタイムアウトが発生しました。 [接続先][応答タイムアウト]の設定を確認してください。
javax.json.stream.JsonParsingException レスポンスボディをJSON形式として処理中にエラーが発生しました。 エラーメッセージの内容を参考に[レスポンス設定]の設定とレスポンスの内容を確認してください。
javax.json.stream.JsonGenerationException 入力データをJSON変換処理中にエラーが発生しました。 入力データの内容を確認してください。

注意事項