REST V2操作についてのルールおよびガイドライン
REST V2操作についてのルールとガイドラインは次のとおりです。
- •要求メッセージを検証することはできません。
- •ヘッダーフィールド、パスパラメータ、クエリパラメータに関連付けられた要素は、ソーストランスフォーメーション、ターゲットトランスフォーメーション、ミッドストリームトランスフォーメーションの入力フィールドとして表示されます。
- •認証が有効なプロキシサーバーを設定することはできません。
- •要求および応答構造のxml要素を解析するには、要素が親要素で囲まれていることを確認してください。以下に例を示します。
<parentElement><childElement>xyz</childElement></parentElement>
- •Integer、Decimal、Longデータ型のみ使用できます。Swagger仕様ファイル内のLongデータ型の値が含まれるフィールドでは、タイプをNormalに設定し、形式をint64に設定します。
- •ソーストランスフォーメーションではパック済みフィールドのみ使用できます。
- •JSONペイロードのフィールド名では拡張ASCII文字とI18N文字は使用できません。
- •クエリパラメータと操作名のフィールド名で特殊文字を使用することはできません。
- •OpenAPI仕様ファイルでは、すべての操作に対してoperationIdを指定する必要があります。
- •配列型のフィールドで特殊文字を使用することはできません。
- •メディアタイプapplication/xmlまたはapplication/x-www-form-urlencodedを使用してデータを処理する場合、ヘッダー、本文、クエリパラメータ、および入力フィールドで&、>、<などの特殊文字を使用しないでください。これらの特殊文字は、ターゲットAPIでエンコードされた形式に変換されます。例えば、&は&ampとしてエンコードされます。
- •無効なXMLタグや特殊文字(&、>、<)を、アプリケーションの本文や入力フィールドまたはxmlメディアタイプで使用すると、タスクはXMLの検証中に例外をスローします。例えば、入力データが<BODID>infor-nid:infor:15101113565:?Employee&verb=Sync</BODID>の場合、次のエラーメッセージが入力データに基づいて表示されます。
[ERROR][致命的なエラー] :1:516: エンティティ「verb」への参照のdelimiter末尾には区切り文字「;」が必要です
このエラーメッセージは無視してかまいません。
- •ページパラメータ、開始ページ、終了ページ、URLの上書きなどの詳細プロパティに対して、入出力パラメータを作成することはできません。
- •REST V2コネクタは、Content-TypeヘッダーとAcceptヘッダーを上書きします。
- •エンドポイントAPIパスにスペースが含まれる場合は、そのパスをパスパラメータとして定義する必要があります。
- •指定したSwagger URLにアクセスできない、またはプロキシサーバーにアクセスできない場合、マッピングは失敗し、セッションログに次のいずれかのエラーが記録されます。ソース、ミッドストリーム、ターゲットのマッピングで同じ振る舞いになります。
- - [ERROR] com.informatica.sdk.helper.common.ApiException: java.net.UnknownHostException: inv28pers108Communication exception, Proxy settings might be incorrect.
- - [ERROR] com.informatica.sdk.helper.common.ApiException: java.net.ConnectException: Connection refused: connectCommunication exception, Proxy settings might be incorrect.
- •ペイロードがJSON形式である場合、要求された入力フィールドでページパラメータを定義できます。ページパラメータは、JSON要求ペイロードが、名前のないオブジェクトである場合のみ、解決可能です。例:
"body" : {
"a" : "ty",
"b" : 0
}
次のシナリオではページパラメータは解決されません。
- - JSON要求ペイロードが名前付きオブジェクトである場合。
- - 定義されたパラメータが、ネストされた入力要素である場合。
- - 定義されたパラメータが配列要素である場合。
- - ペイロードがXML形式である場合。
- •bodyパラメータおよびsecurityDefinitionsパラメータ以外の要求入力パラメータのデフォルト値を定義できます。以下に例を示します。
"parameters": {
"keyReference": {
"name": "keyReference",
"in": "header",
"required":false,
"type": "integer",
"default": 123
}
}
デフォルト値は、integer、string、boolean、array of primitive型フィールドに適用できます。
- •REST V2コネクタをソースとして使用しているときに、要求メッセージエディタで入力パラメータに空値を渡した場合、Swaggerファイルで定義されているデフォルト値は適用されません。要求メッセージフィールドに値を指定しない状態で、そのフィールドにSwagger定義で定義されたデフォルト値を適用する場合には、要求メッセージエディタからそのフィールドを削除する必要があります。
- •入力パラメータのデフォルト値が空白として定義されている場合、マッピングで明示的に値が指定されない限り、空白値はNULLとして扱われます。
- •Swaggerファイルのインライン要素を使用してXML属性を定義することは出来ません。Swaggerファイルの別の要素としてXML属性を定義し、データを抽出するときにそのXML属性を参照してください。
- •REST V2接続を使用してソースまたはターゲット操作を設定し、[操作]フィールドに有効な名前を手動で入力してオブジェクトを変更しようとした場合、タスクは次の検証エラーにより失敗します。
オブジェクトの検証中にエラーが発生しました: 選択した接続はこの操作をサポートしていません。
回避策: [選択...]ダイアログボックスから同じ操作を選択して、タスクを再度実行します。
- •応答の配列があるJSONデータを読み取ると、セッションログには配列の最初のインスタンスのみが含まれます。
- • 要求本文でパラメータを定義する場合、パラメータ下と定義下の名前が同じであることを確認してください。次の例では、パラメータ名がgetAccountsの場合、$refの定義名もgetAccountsである必要があります。
"parameters": {
"name": "getAccounts",
"in": "body",
"required": true,
"schema":{
"$ref":"#/definitions/getAccounts"
}
- •単一XML要素で属性または値を定義できます。次の例では、単一XML要素に属性と値の両方が含まれており、これは適用できません。
<wd:ID wd:type="Organization_Role">Manager</wd:ID>