REST サービスのパブリッシュ

このセクションでは、REST 準拠のデータ サービスを追加する方法について説明します。構成ステップはオプションです。

REST サービスをパブリッシュするための構成オプション
REST データ サービスのパブリッシュ

REST サービスをパブリッシュするための構成オプション

この設定は、パラメーターが汎用 XML タイプである場合に、TDV REST Web サービスで XML 出力パラメーターをラッパーエレメントで囲むかどうかを決定します。

XML 出力パラメーターラッパーエレメントを構成するには

1. [管理] メニューから、[構成] を選択します。
2. ジェネリック XML REST 出力パラメーター ラッパー パラメーターを検索するか、そこに移動します。
3. 値を False に設定してラッパー エレメントを除外するか、値を True に設定してラッパー エレメントを含めます。
4. パラメーター値の変更が認識されるように、TDV Server を停止して再起動します。
5. 定義するプロシージャに、データ タイプ「XML」の変数があることを確認してください。

次のコード スニペットの Output パラメーターが cust_data であり、データ タイプが汎用 XML タイプであるとします。 

<ns1: cust_addr>
<mail_addr>
. . .
</mail_addr>
</ns1:cust_addr>

[Generic XML REST Output Parameter Wrapper (汎用 XML REST 出力パラメーターラッパー) ] パラメーターを true に設定して、次のような出力を取得します。

<cust_data>
<ns1: cust_addr>
<mail_addr>
. . .
</mail_addr>
</ns1:cust_addr>
</cust_data>

出力にパラメーター名ラッパーを含めない場合は、構成パラメーターを false に設定します。たとえば次のとおりです。

<ns1: cust_addr>
<mail_addr>
. . .
</mail_addr>
</ns1:cust_addr>

REST データ サービスのパブリッシュ

REST データ サービスをパブリッシュするには

  1. Studio リソース ツリーの データ サービス ノードの下にある Web サービス ノードを選択します。

  2. 右クリックして [新しいコンポジット Web サービス] を選択します。

  3. [データ サービス名] に、Web サービスの名前を入力します。

  4. [OK] をクリックします。

  5. リソース ツリーから、作成したばかりのデータ サービスを開きます。

    デフォルトでは、[SOAP] タブが表示されます。

  6. 必要に応じて、ビューとプロシージャを Web サービスに発行します。

    リソース ツリーから 1 つ以上のテーブル、ビュー、またはプロシージャを選択し、右クリックします。

    [パブリッシュ] を選択します。

    [パブリッシュ] ウィンドウで、パブリッシュされたリソースに使用する名前を入力します。

    リソースをパブリッシュする Web サービスを選択します。

    [OK] をクリックします。

  7. REST タブを選択します。

  8. 画面のサービス部分で、次のプロパティの値を入力または選択します。

プロパティにデフォルト値がある場合、値は必須です。

プロパティ

必須

説明

有効

はい

true (デフォルト) は、このタブで定義した情報を使用するようにシステムに指示します。

ターゲット ネームスペース

はい

デフォルト値を REST インストールの場所に置き換えます。

サービス名

はい

サービスに付ける名前です。

SSL/TLS の有効化

はい

SSL/TLS が必要 - True/false
クライアント証明書が必要 - True/False

SSL は、デジタル証明書、信頼できる 認証局 (CA)、および暗号化キーを使用します。

これを true に設定すると、HTTPS/JSON および HTTPS/XML エンドポイントの URL が [オペレーション] セクションの下部にある [プロパティ] リストに追加されます。

JSON コンテキスト URL パス

 

デフォルト値は /json です。

XML コンテキスト URL パス

 

デフォルト値は /xml です。

JSON フォーマット

はい (JSON の場合)

JSON パッケージ名 - JSON サービスのデフォルト名。入力および出力データは、このパッケージ名を使用します。
プロシージャのパラメーター名を使用 - true の場合、パラメーターの形式の JSON オブジェクト名は、プロシージャで定義された元の名前と同じになります。デフォルト値は false です。false の場合、形式は次のとおりです。
<package name> + '.' + <procedure name>+<parameter name>
XML スキーマ定義セットの検証 - デフォルト値は true です。このオプションは、ストリーミング モードで XML/JSON トランスフォームを使用して機能し、XML 値に設定された XML 定義を使用して JSON 応答構造を検証し、検証が失敗した場合は空またはデータの一部を取得します。このオプションを「false」に設定しても、正しい Json 応答データを取得できます。
ラッパー カーソル - true の場合、JSON 行オブジェクトがカーソル出力のラッパーとしてテーブルとプロシージャに追加されます。
ラップされたテーブル - true の場合、テーブル出力は次のパターンの出力 JSON オブジェクトでラップされます。
<package name> + '.' + <table name> + 'output' 

ラップ オプションでは、デフォルト値は true です。デフォルト値は XML 定義と一致します。

HTTP Basic の有効化

はい

有効な値は true または false です。true に設定すると、Base‐64 アルゴリズムによってエンコードされた文字列になるユーザー名とパスワードを (リクエストを行うときに) 提供するメソッドが有効になります。

HTTP ベアラーの有効化

いいえ

有効な値は true または false です。true に設定すると、OAUth2 トークンベースの認証が有効になります。HTTP 経由。

HTTP NTLM の有効化

いいえ

HTTP を介した NTLM 認証を有効にする場合に使用します。

HTTP ネゴシエーションの有効化

いいえ

HTTP を介した Kerberos および Active Directory 認証を有効にする場合に使用します。

  1. [オペレーション] セクションの上部から、使用可能な Web サービス ビューまたはプロシージャを選択します。

    このウィンドウが開いているときに新しいビューまたはプロシージャを Web サービスにパブリッシュした場合、そのビューまたはプロシージャをリストに表示するには、このウィンドウを閉じてから再度開く必要がある場合があります。

  2. [オペレーション] セクションの下部で、次の表に示すプロパティの値を入力または選択します。

プロパティ

説明

HTTP メソッド

プロシージャに関連付けられている動詞 (GET、POST、PUT、DELETE など) を選択します。オペレーションフィールドで行った選択によっては、これらのオプションがすでに定義されている場合があります。

オペレーション URL パス

オペレーション用に定義されているオペレーション URL のパスを指定します。エンドポイント URL の ガイドラインに従って値を構成します。中括弧タグを使用できます。

各 Web サービスモジュールで使用するエンドポイント URL の一部を指定できます。パブリッシュされた WSDL ファイルでは、ターゲットエンドポイントのアドレスを定義する URL は、ポートの soap:address エレメントの location 属性にあります。

入力メッセージ

 

パラメーター スタイル

入力引数またはメッセージの形状を判別するには、このフィールドを使用します。この値はすべてのパラメーターに適用されます。

BODY の場所を使用する複数のパラメーターが存在する可能性がある場合は、WRAPPED を選択します。ラッパー エレメントは REST BODY の子であり、パラメーター エレメントはラッパー エレメントの子です。
BARE を選択するのは、1 つのパラメーターの場所が BODY であり、そのエレメントが REST BODY の唯一の子である場合です。同じ方向の他のすべてのパラメーターは、別の場所 (HEADER など) にマップする必要があります。

 

Wrapper (ラッパー)

 

 

エレメント名

ラッパーエレメントの一意の名前。たとえば、ここに「wrappedOrderParams」と入力すると、WSDL XML に次のエレメントが含まれます。

<wrappedOrderParams> </wrappedOrderParams>

 

エレメント タイプ

これは行エレメントのタイプ値です。

出力メッセージ

 

パラメーター スタイル

この値はすべてのパラメーターに適用されます。

BODY の場所を使用する複数のパラメーターが存在する可能性がある場合は、WRAPPED を選択します。ラッパー エレメントは REST BODY の子であり、パラメーター エレメントはラッパー エレメントの子です。
BARE を選択するのは、場所が BODY のパラメーターが 1 つだけあり、そのエレメントが REST BODY の唯一の子である場合です。同じ方向の他のすべてのパラメーターは、HEADER などの別の場所にマップする必要があります。

 

Wrapper(ラッパー)

 

 

エレメント名

ラッパーエレメントに付ける一意の名前。たとえば、ここに「wrappedOrderParams」と入力すると、WSDL XML に次のエレメントが含まれます。

<wrappedOrderParams> </wrappedOrderParams>

 

エレメント タイプ

これは行エレメントのタイプ値です。

エンド ポイント URL

 

HTTP/JSON

このオペレーションの HTTP/JSON エンドポイント URL が表示されます。

 

HTTPS/JSON

このオペレーションの HTTPS/JSON エンドポイント URL が表示されます。このパネルの [Service(サービス)] セクションの [Enable SSL(SSL を有効にする)] セ true になっている場合にのみ表示されます。

 

HTTP/XML

このオペレーションの HTTP/XML エンドポイント URL が表示されます。

 

HTTPS/XML

このオペレーションの HTTPS/XML エンドポイント URL が表示されます。このパネルの [Service(サービス)] セクションの [Enable SSL(SSL を有効にする)] セ true になっている場合にのみ表示されます。

  1. 設定を保存します。

  2. Web サービスに対して定義するオペレーションまたはビューごとに、「SOAP データ サービスのパブリッシュ」のステップを繰り返します。

  3. オペレーションにパラメーターがある場合は、画面のパラメーター部分に移動し、上部のリストからパラメーターを選択します。

  4. 下部で、入力または出力パラメーターの次のプロパティの値を入力または選択します。

プロパティ

リソース タイプ

説明

名前

すべて

パラメーターの名前。編集できません。

行エレメント名

テーブル
ビュー

入力パラメーター、出力パラメーター、または出力カーソルに付ける完全修飾名。または、カラムに付ける名前(カーソル パスに相対的)。

行タイプ名

テーブル
ビュー

(カーソルのみ)この行エレメントの値を入力します。

カーソル タイプ名

テーブル
ビュー

(カーソルのみ)グローバル カーソル エレメントを定義するタイプの一意の名前。

エレメント名

すべて

NULL にすることができます。[エレメント名] フィールドのデフォルト値は、暗号化される REST メッセージのスキーマを指定します。このプロシージャを使用すると、REST メッセージ本文を暗号化できます。

バインディング ロケーション

プロシージャ

選択したオペレーションがプロシージャの場合、バインディング場所を定義できます。メッセージが [BARE (ベアラー)] の場合、1 つのパラメーターのみで BODY バインディング場所を使用する必要があります。

入力に使用できる場所は次のとおりです。

ENTITY (GET では使用できません)、QUERY、HEADER

出力に使用できる場所は次のとおりです。

ENTITY

クエリ

プロシージャ

クエリ文字列のパラメーター名部分。クエリ引数は NULL 値を受け入れることができます。たとえば、次のクエリ引数はどちらも有効です。

http://localhost:9410/json/goody/data?name_arg={name_arg_value}
http://localhost:9410/json/goody/data

デフォルト値

プロシージャ

オプション。パラメーター値がリクエストによって渡されない場合に使用するデフォルト値。

Null を許可

プロシージャ

このフィールドで値なしが許可されるかどうかを指定します。true に設定すると、パラメーターを値なしでサーバーに渡すことができます。パラメーターの値がない場合、すべてのデータがクエリから返されます。

エレメント名

プロシージャ

NULL にすることができます。[エレメント名] フィールドのデフォルト値は、暗号化される REST メッセージのスキーマを指定します。このプロシージャを使用すると、REST メッセージ本文を暗号化できます。

ディレクション

すべて

入力パラメーター、出力パラメーター、または出力カーソルの方向を示します。編集できません。

  1. Web サービスに定義するパラメーターごとにステップを繰り返します。

  2. 定義を保存します。

パブリッシュされた REST サービスへのアクセス

TDV は、パブリッシュされているすべての REST サービスに対して Open API 準拠の仕様を提供します。このツールにアクセスするには、TDV Studio を開き、[ヘルプ] -> [パブリッシュされた REST Web サービス] メニュー項目をクリックします。URL を使用して仕様にアクセスすることもできます。http://localhost:9400/rest/api-docs/webservice.html

このツールを使用すると、ユーザーは応答スキーマを取得し、それが予期したとおりであることを確認できます。

:ユーザーは、読み取り権限を持つパブリッシュ済み REST サービスのみを表示できます。